Anmutiges Anhalten eines Threads in Java
Wenn die Ausführung eines Threads übermäßig lange dauert, kann es erforderlich sein, ihn ordnungsgemäß anzuhalten um Systeminstabilität zu verhindern. Der bevorzugte Ansatz, dies zu erreichen, ist die Implementierung eines booleschen Flags in der run()-Methode des Threads wie folgt:
class MyThread extends Thread { volatile boolean finished = false; public void stopMe() { finished = true; } public void run() { while (!finished) { // Perform necessary tasks } } }
Dadurch können Sie den Thread von einer externen Quelle stoppen, indem Sie „finished“ auf „true“ setzen.
Es ist wichtig zu beachten, dass die veraltete Methode Thread.stop() von Natur aus unsicher ist. Wie in der Java-Dokumentation angegeben, kann es aufgrund der Entsperrung von Monitoren und möglichen Inkonsistenzen in den Objektzuständen zu willkürlichem Verhalten kommen. Daher ist die Implementierung eines Schutzes innerhalb der run()-Methode des Threads, wie oben gezeigt, der empfohlene und sichere Ansatz für eine ordnungsgemäße Thread-Beendigung.
Das obige ist der detaillierte Inhalt vonWie kann man einen Thread in Java ordnungsgemäß anhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!