Встречается на собеседованиях • сегодня
Как работает метод interrupt
Метод interrupt() в Java используется для прерывания потока. Он устанавливает флаг прерывания потока, но не останавливает его принудительно. Поток должен сам проверять этот флаг (через Thread.interrupted() или isInterrupted()) и корректно завершать работу.
Пример:
java
Thread thread = new Thread(() -> {
while (!Thread.currentThread().isInterrupted()) {
System.out.println("Работаю...");
}
System.out.println("Поток прерван");
});
thread.start();
thread.interrupt(); // Установит флаг прерыванияВажные нюансы:
- Если поток заблокирован (например, в
wait(),sleep()илиjoin()), метод выброситInterruptedExceptionи сбросит флаг прерывания isInterrupted()не сбрасывает флаг, в отличие от статическогоThread.interrupted()- После обработки
InterruptedExceptionчасто нужно заново установить флаг прерывания (Thread.currentThread().interrupt())

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