Thread.sleep()
Приостанавливает текущий поток на заданное время.
Доступно с: Java 1.0
Синтаксис
public static void sleep(long millis) throws InterruptedException
public static void sleep(Duration duration) throws InterruptedExceptionПараметры
| Параметр | Тип | Описание |
|---|---|---|
| millis | long | Пауза в миллисекундах (или `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, имена потоков и непредсказуемый порядок выполнения.