Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Thread.sleep()

Приостанавливает текущий поток на заданное время.

Доступно с: Java 1.0

Синтаксис

public static void sleep(long millis) throws InterruptedException
public static void sleep(Duration duration) throws InterruptedException

Параметры

ПараметрТипОписание
millislongПауза в миллисекундах (или `Duration` с Java 19).

Примеры

Пауза между шагами:

void main() throws InterruptedException {
    for (int i = 3; i >= 1; i--) {
        IO.println(i + "...");
        Thread.sleep(Duration.ofMillis(300));
    }
    IO.println("Go!");
}

Результат:

3...
2...
1...
Go!

Примечания

Время паузы — минимальное: поток может проснуться чуть позже. Во время сна поток можно прервать, тогда бросается InterruptedException. Не используйте sleep(), чтобы «дождаться» другого потока, — для этого есть join(), Future.get() и CountDownLatch.

См. также

  • Thread.join() — Ждёт, пока поток завершится.
  • InterruptedException — Проверяемое исключение: ожидающий поток попросили прерваться.
  • Thread — Поток выполнения: позволяет программе делать несколько дел одновременно.

Вопросы и ответы по теме

В учебнике

  • Потоки выполнения — Потоки в Java — класс Thread, запуск через start, ожидание через join, Thread.sleep, имена потоков и непредсказуемый порядок выполнения.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.