首頁  >  文章  >  Java  >  如何優雅地停止 Java 執行緒:Thread.stop() 仍然是一個選擇嗎?

如何優雅地停止 Java 執行緒:Thread.stop() 仍然是一個選擇嗎?

Susan Sarandon
Susan Sarandon原創
2024-11-13 03:47:02843瀏覽

How to Gracefully Stop Java Threads: Is Thread.stop() Still an Option?

優雅地停止Java 執行緒

當遇到冗長且可能不完整的執行緒時,可能有必要以受控方式終止它。這可以避免突然中斷並確保正確的關閉過程。

最佳方法

建議的方法包括在執行緒的 run() 方法中實作布林標誌。當執行緒應該終止時,該標誌從外部來源設定為“true”。這允許線程自然地完成當前的執行並優雅地退出。

例如:

public class MyThread extends Thread {
    volatile boolean finished = false;

    public void stopMe() {
        finished = true;
    }

    @Override
    public void run() {
        while (!finished) {
            // Perform necessary tasks
        }
    }
}

傳統方法:Thread.stop()

一種較舊的執行緒終止方法涉及呼叫Thread.stop () 方法。然而,這種方法現在被認為是不安全的並且不鼓勵。與布林標誌方法不同,Thread.stop() 會突然停止線程,可能使受保護的物件處於不穩定狀態並導致不可預測的後果。

因此,布林標誌方法仍然是優雅停止 Java 執行緒的建議解決方案.

以上是如何優雅地停止 Java 執行緒:Thread.stop() 仍然是一個選擇嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn