共計 795 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Java 中,有幾種常見的方法可以停止線程的運行:
- 使用標志變量:在線程的運行方法中,使用一個標志變量控制線程是否繼續(xù)運行。當需要停止線程時,將標志變量設置為 false,并在線程中檢查該變量的值,如果為 false,則退出線程的運行。
class MyThread extends Thread {private volatile boolean flag = true;
public void stopThread() {flag = false;
}
@Override
public void run() {while (flag) {// 線程運行的代碼
}
}
}
- 使用 interrupt() 方法:調用線程的 interrupt() 方法可以中斷線程的運行,并拋出一個 InterruptedException 異常。在線程的運行方法中,可以使用 isInterrupted() 方法來檢查線程是否被中斷,在需要停止線程的地方,可以使用 interrupt() 方法來中斷線程。
class MyThread extends Thread {@Override
public void run() {while (!Thread.currentThread().isInterrupted()) {// 線程運行的代碼
if (Thread.currentThread().isInterrupted()) {break;
}
}
}
}
- 使用 stop() 方法(不推薦使用):使用 stop() 方法可以立即停止線程的運行,但是這個方法已經(jīng)被標記為廢棄的,因為它可能會導致線程的資源不被釋放,或者線程的狀態(tài)被破壞,潛在的引發(fā)一些問題。所以,不推薦使用 stop() 方法來停止線程的運行。
Thread thread = new Thread();
thread.stop();
總結起來,推薦使用標志變量或者 interrupt() 方法來停止線程的運行,而不推薦使用 stop() 方法。
丸趣 TV 網(wǎng) – 提供最優(yōu)質的資源集合!
正文完