Вопросы к Поиску с Алисой
В Java используется системный метод interrupt() вместо прерывания потока через механизмы операционной системы, потому что он позволяет более корректно завершать работу потока. javarush.com habr.com
Метод Thread.stop(), который раньше использовался для прерывания потока, просто останавливал его без какой-либо дополнительной работы. javarush.com Например, поток мог работать с данными и что-то в них менять, а потом его резко останавливали посреди работы — и всё, ни корректного завершения работы, ни освобождения ресурсов, ни обработки ошибок. javarush.com
Метод interrupt() устанавливает у потока статус, что он прерван. metanit.com Если объект в этот момент находился в состоянии ожидания, например, join или sleep, ожидание будет прервано, и программа выбросит InterruptedException. javarush.com Если же поток в этот момент был в работоспособном состоянии, у объекта будет установлен boolean-флаг interrupted. javarush.com Проверить объект на значение этого флага и корректно завершить работу должен программист. javarush.com