Doskonale rozumiem, co robi (przynajmniej mam taką nadzieję). To naprawdę nie przerywa wątku. To sprawia, że Thread.isInterrupted()
jest prawdziwe, a kod ma na celu sprawdzenie, jaka metoda i zatrzymanie samego wątku.Thread.interrupt() in Java: o co ci chodzi?
Moje pytanie brzmi: dlaczego potrzebujemy tej metody? Wydaje się, że można go całkowicie zastąpić, deklarując flagę logiczną określającą, czy wątek powinien zostać zatrzymany? Czy żaden podręcznik Java nie używa tej flagi boolowskiej jako najlepszego przykładu użycia słowa kluczowego volatile
?
Jestem szczególnie zdezorientowany, ponieważ wydaje się, że nie ma sposobu na "nieprzerwane" wątek, ponieważ Thread.resume()
jest przestarzałe. To sprawia, że interrupt()
jest jeszcze mniej użyteczna niż flaga boolowska, którą piszę sam.
Czy nie jest to być może nieco łatwiejsze do napisania, czy Thread.interrupt()
robi coś innego niż moja flaga Boole'a?
@freak Oto, co próbuję odpowiedzieć. –
+1 doskonały .... – Freak