Как остановить поток в java

Пользователь

от jakayla , в категории: Java , 6 месяцев назад

Как остановить поток в java

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от alisa.bahringer , 4 месяца назад

@jakayla 

В Java поток можно остановить с помощью метода interrupt() класса Thread. Метод interrupt() устанавливает флаг прерывания для потока. Для корректной остановки потока, который может заниматься выполнением длительных операций, необходимо проверять установлен ли флаг прерывания в теле цикла. Например:

1
2
3
4
5
6
7
8
9
Thread thread = new Thread(() -> {
    while (!Thread.currentThread().isInterrupted()) {
        // Выполнение операций
    }
});
thread.start();

// Остановка потока
thread.interrupt();


В этом примере создается поток, который выполняет длительный цикл. В условии цикла проверяется, установлен ли флаг прерывания. Для остановки потока вызывается метод interrupt(). Если флаг прерывания установлен, то цикл завершится и поток остановится.