Встречается на собеседованиях • сегодня
Как можно прервать выполнение потока
В Java есть несколько способов прервать выполнение потока:
interrupt()- устанавливает флаг прерывания. Поток должен проверятьThread.interrupted()илиisInterrupted()и корректно завершаться.
java
Thread thread = new Thread(() -> {
while (!Thread.currentThread().isInterrupted()) {
// работа потока
}
});
thread.start();
thread.interrupt();- Флаг volatile - использование собственного флага для управления выполнением.
java
class MyThread implements Runnable {
private volatile boolean running = true;
public void stop() { running = false; }
@Override
public void run() {
while (running) {
// работа потока
}
}
}stop()(deprecated) - опасный метод, может оставить объекты в неконсистентном состоянии. Не рекомендуется.
Важно: прерывание потока - кооперативный механизм. Поток должен сам проверять флаги и завершаться корректно.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы