— Привіт, Аміго! З цієї лекції ти дізнаєшся про найцікавіший метод при роботі з потоками – це метод 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 разів.

— Дякую!