Я прекрасно понимаю, что он делает (по крайней мере, я надеюсь). Это действительно не прерывает поток. Он делает Thread.isInterrupted()
истинным, и код должен проверить, какой метод и остановить сам поток.Thread.interrupt() в Java: в чем смысл?
Мой вопрос: зачем нам этот метод? Кажется, что он отлично заменяется объявлением логического флага, указывающего, следует ли остановить этот поток? Разве какой-либо учебник Java не использует этот логический флаг как лучший пример того, как следует использовать ключевое слово volatile
?
Я особенно смущен, поскольку, кажется, нет способа «перевести» поток, поскольку Thread.resume()
устарел. Это делает interrupt()
еще менее полезным, чем булевский флаг, который я пишу сам.
Помимо того, что, возможно, немного легче писать, делает Thread.interrupt()
что-то отличное от моего булевского флага?
@freak Это то, что я пытаюсь ответить. –
+1 совершенный .... – Freak