Приветствую Вас ГостьСуббота, 21.09.2024, 04:29

Каталог статей


Реализация пауз

Полный текст статьи почитать можно здесь: Как приостановить выполнение кода в Java (attacomsian.com)

Способы:

1. Thread.sleep

try {
    System.out.printf("Start Time: %s\n", LocalTime.now());
    Thread.sleep(2 * 1000); // задержка 2 секунды
    System.out.printf("End Time: %s\n", LocalTime.now());
} catch (InterruptedException e) {
    e.printStackTrace();
}

обработка исключений необходима для многопоточной среды, где несколько потоков выполняются параллельно для выполнения различных задач.

2. TimeUnit.SECONDS.sleep();

try {
    System.out.printf("Start Time: %s\n", LocalTime.now());
    TimeUnit.SECONDS.sleep(2);  // Wait 2 seconds
    System.out.printf("End Time: %s\n", LocalTime.now());
} catch (InterruptedException e) {
    e.printStackTrace();
}

Кроме указания задержки в секундах есть методы в других единицах времени: наносекунды, микросекунды, миллисекунды, минуты, часы и дни.

TimeUnit.MINUTES.sleep(5);
TimeUnit.HOURS.sleep(2);
TimeUnit.DAYS.sleep(1);

3. интерфейс ScheduledExecutorService

Исключает задержки по времени, которые возникают при выполнении другого кода.

Выполнение кода задается в методе timer()

Запуск после 2 секунд (service.schedule):

public class Runner {

    public static void main(String[] args) {
        ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();

        // Execute timer after 2 seconds
        service.schedule(Runner::timer, 2, TimeUnit.SECONDS);
    }

    public static void timer() {
        System.out.println("Current time: " + LocalTime.now());
    }

Запуск каждую секунду (service.scheduleAtFixedRate):

public class Runner {

    public static void main(String[] args) {
        ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();

        // Execute timer every second
        service.scheduleAtFixedRate(Runner::timer, 0, 1, TimeUnit.SECONDS);
    }

    public static void timer() {
        System.out.println("Current time: " + LocalTime.now());
    }
}

 

 

Категория: Программирование | Добавил: leshic (05.11.2022)
Просмотров: 170 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
Программирование [7]
Java [9]
Описание языка Java
API [0]
Примеры реализации задач [0]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0