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

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