首頁 > Java > java教程 > 主體

如何優雅地終止Java線程?

Linda Hamilton
發布: 2024-11-11 20:22:03
原創
807 人瀏覽過

How to Gracefully Terminate a Java Thread?

如何優雅地終止Java 執行緒

當遇到必須在執行中停止的長時間運行的執行緒時,優雅地這樣做以避免不可預測的後果至關重要.

要實現這一點,常見的方法是在執行緒的run() 方法中引入控制變數。此變數通常是一個布林標誌,充當發出終止請求信號的哨兵。

考慮以下範例:

class MyThread extends Thread {
  volatile boolean finished = false;

  public void stopMe() {
    finished = true;
  }

  @Override
  public void run() {
    while (!finished) {
      // Perform the necessary actions
    }
  }
}
登入後複製

從主執行緒中,您可以透過以下方式優雅地停止執行呼叫stopMe() 方法:

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

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

myThread.stopMe();
登入後複製

以前, Java 有一個stop() 方法,但由於它可能會破壞執行緒狀態並解鎖已取得的鎖,因此被宣告為不安全。因此,建議使用控制變數方法來確保乾淨且受控的執行緒終止。

以上是如何優雅地終止Java線程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板