Heim  >  Artikel  >  Java  >  Wie kann man einen Thread in Java ordnungsgemäß anhalten?

Wie kann man einen Thread in Java ordnungsgemäß anhalten?

Linda Hamilton
Linda HamiltonOriginal
2024-11-11 04:33:03983Durchsuche

How to Gracefully Halt a Thread in Java?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn