Heim > Java > javaLernprogramm > Hauptteil

Wie beendet man einen Java-Thread ordnungsgemäß?

Linda Hamilton
Freigeben: 2024-11-11 20:22:03
Original
805 Leute haben es durchsucht

How to Gracefully Terminate a Java Thread?

So beenden Sie einen Java-Thread ordnungsgemäß

Wenn Sie auf einen Thread mit langer Laufzeit stoßen, der während der Ausführung gestoppt werden muss, ist es wichtig, dies ordnungsgemäß zu tun, um unvorhersehbare Folgen zu vermeiden .

Um dies zu erreichen, besteht ein gängiger Ansatz darin, eine Steuervariable in die run()-Methode des Threads einzuführen. Diese Variable, normalerweise ein boolesches Flag, fungiert als Wächter, um die Beendigungsanforderung zu signalisieren.

Betrachten Sie das folgende Beispiel:

class MyThread extends Thread {
  volatile boolean finished = false;

  public void stopMe() {
    finished = true;
  }

  @Override
  public void run() {
    while (!finished) {
      // Perform the necessary actions
    }
  }
}
Nach dem Login kopieren

Vom Hauptthread aus können Sie die Ausführung ordnungsgemäß anhalten Aufruf der stopMe()-Methode:

MyThread myThread = new MyThread();
myThread.start();

// Wait some time to simulate work
Thread.sleep(500);

myThread.stopMe();
Nach dem Login kopieren

Früher verfügte Java über eine stop()-Methode, die jedoch aufgrund ihres Potenzials, den Thread-Status zu beschädigen und erworbene Sperren aufzuheben, als unsicher erklärt wurde. Daher ist die Verwendung des Kontrollvariablenansatzes die empfohlene Methode, um einen sauberen und kontrollierten Thread-Abschluss sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie beendet man einen Java-Thread ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage