E
Easy Java
@EasyJava_235.5K подп.
1.4Kпросмотров
26.1%от подписчиков
18 февраля 2026 г.
questionScore: 1.6K
👩‍💻 Что такое Thread.sleep() и зачем он нужен? Thread.sleep() — это статический метод класса java.lang.Thread, который приостанавливает выполнение текущего потока на указанное количество миллисекунд или наносекунд. java public class ThreadSleepExample { public static void main(String[] args) { System.out.println("Демонстрация Thread.sleep()"); // Простая задержка System.out.println("Начало работы"); try { Thread.sleep(2000); // Пауза 2 секунды } catch (InterruptedException e) { Thread.currentThread().interrupt(); System.out.println("Поток был прерван"); } System.out.println("Прошло 2 секунды"); // Создание анимации загрузки System.out.print("Загрузка"); for (int i = 0; i < 5; i++) { try { Thread.sleep(500); // Полсекунды между точками System.out.print("."); } catch (InterruptedException e) { break; } } System.out.println(" Готово!"); // Имитация таймера for (int seconds = 3; seconds > 0; seconds--) { System.out.println("Осталось: " + seconds + " сек"); try { Thread.sleep(1000); // Пауза 1 секунда } catch (InterruptedException e) { System.out.println("Таймер прерван"); break; } } System.out.println("Время вышло!"); // Пример с перехватом прерывания Thread countingThread = new Thread(() -> { for (int i = 1; i <= 10; i++) { System.out.println("Считаем: " + i); try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println("Поток прервали на счете " + i); return; // Выходим из метода run() } } }); countingThread.start(); // Даем потоку посчитать до 3, потом прерываем try { Thread.sleep(3500); countingThread.interrupt(); // Прерываем поток } catch (InterruptedException e) { // Игнорируем } } } Особенности: · Выбрасывает InterruptedException — checked exception · Точность задержки зависит от операционной системы · Приостанавливает только текущий поток · После пробуждения поток переходит в состояние Runnable Для чего особенно полезен: · Создание задержек в UI анимациях · Имитация длительных операций при тестировании · Управление частотой выполнения в циклах · Простая синхронизация потоков во времени · Реализация тайм-аутов и ожидания · Демонстрация многопоточности в учебных примерах Важные замечания: } catch (InterruptedException e) { Thread.currentThread().interrupt(); System.out.println("Поток был прерван"); } System.out.println("Прошло 2 секунды"); // Создание анимации загрузки System.out.print("Загрузка"); for (int i = 0; i < 5; i++) { try { ➡️ Easy Java | #Теория
1.4K
просмотров
3196
символов
Нет
эмодзи
Нет
медиа

Другие посты @EasyJava_23

Все посты канала →
👩‍💻 Что такое Thread.sleep() и зачем он нужен? Thread.slee — @EasyJava_23 | PostSniper