Kleiner Gui Counter

Ich würde ne boolean setzen und einfach "trueen" wenn beendet werden soll. Auf interruped/isInterruped() würde ich nicht setzen, weil es sein kann, dass durch einen Tastendruck ect. sich der Status eines Threades schnell ändern muss (z. B. von nach Links auf nach Rechts bewegen ändern), und ich deshalb interrupe, damit es eben möglichst schnell geht und er nicht einfach zwischendurch schläft.

Es gibt Methoden um einen Thread "brutal" zu beenden, die sind aber als veraltet markiert, man sollte immer die run verlassen.
 
Du hast ja Recht, aber in diesem Fall war das nicht gegen und es war auch nur ein Beispiel :P Wie und was man prüft, muss jeder für sich entscheiden, aber für die Laufzeit des Threads bietet sich an zu prüfen, ob er interrupted wurde und man sollte zum Anhalten eines Threads dann auch die Methode interrupt() aufrufen. Damit wird der Thread eben nicht hart gekillt, sondern kann sich selbst beenden. Du hast aber Recht, es kann sein, dass das nicht schnell genug passiert, wenn der Thread durch zusätzliche Aktionen unterbrochen werden soll, deshalb sollte man sich immer gut überlegen was und wo man etwas überprüft. Es gibt verschiedene Ansätze und alle eigenen sich für bestimmte Problemstellungen besser oder schlechter an, kommt immer auf die Problemstellunge an.
 
Zurück