JavaRush /Курсы /Java Core /Здоровый sleep

Здоровый sleep

Java Core
6 уровень , 6 лекция
Открыта

— Привет, Амиго! Билаабо сегодня расскажет тебе о самом интересном методе при работе с нитями – это метод sleepМетод sleep объявлен как статический метод класса Thread, т.е. он не привязан ни к какому объекту. Цель этого метода, чтобы программа «заснула» на некоторое время. Вот как это работает:

Код Описание
public static void main(String[] args) {
    Thread.sleep(2000);
}
Программа запустится.

Затем замрет на 2 секунды (2 000 миллисекунд)

Затем завершится.

Единственный параметр метода sleep – это время. Время задается в тысячных долях секунды (миллисекундах). Как только нить вызывает этот метод, она засыпает на указанное количество миллисекунд.

— А где это лучше всего использовать?

— Этот метод часто используется в дочерних нитях, когда нужно делать какое-то действие постоянно, но не слишком часто. Смотри пример:

Код Описание
public static void main(String[] args) {
    while (true) {
    Thread.sleep(500);
        System.out.println("Tik");
    }
}
Программа будет работать вечно – условие продолжения цикла никогда не нарушится.

Вот что программа делает в цикле:
а) поспать полсекунды
б) вывести на экран текст «Tik»

Т.е. дважды в секунду будет выполняться некоторое действие.

— Ух ты, теперь это уже интересно.

— Рад, что тебе понравилось, мой друг Амиго!

— А если я хочу, чтобы какое-то действие выполнялась 100 раз в секунду, что нужно делать?

— Если действие должно выполняться 100 раз в секунду, а в секунде 1000 миллисекунд, значит, действие должно выполняться один раз в 10 миллисекунд.

Если твое действие занимает 2 миллисекунды, то нужно добавить к нему паузу длинной 8 миллисекунд. Вместе они будут выполняться как раз за 10 миллисекунд. И за секунду – как раз 100 раз.

Если же твое действие выполняется почти мгновенно, то поставь паузу (sleep) длиной 10 миллисекунд. Тогда в секунду будет тоже около 100 раз.

— Спасибо, Билаабо.

Комментарии (171)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Егор Вырва Уровень 28
5 ноября 2025
А как узнать, сколько времени требуется на выполнение моего действия ?
invoker main Уровень 42
30 сентября 2025
билаабо
Vulki Уровень 8
22 сентября 2025
👽
Anonymous #3585174 Уровень 33
21 августа 2025
like
dustik Уровень 29
30 июля 2025
👽
Максим Антонов Уровень 27
26 июня 2025
👽
SliNe Уровень 43
16 июня 2025
👽
Ioanna Polyak Уровень 42
13 июня 2025
👽
Rhett Caan Уровень 28 Expert
26 марта 2025
👽
KPR500 Уровень 33
28 февраля 2025
Давненько тут комментариев не было...