共計 981 個字符,預計需要花費 3 分鐘才能閱讀完成。
Java 線程停止的方法有以下幾種:
- 使用標志位:在 Thread 類中定義一個 boolean 類型的變量作為標志位,當標志位為 true 時,線程執行完當前任務后退出循環,從而停止線程。
public class MyThread extends Thread {
private boolean flag = true;
@Override
public void run() {while (flag) {// 線程執行的任務}
}
public void stopThread() {flag = false;}
}
可以通過調用 stopThread() 方法設置標志位為 false,從而停止線程。
- 使用 interrupt() 方法:調用線程的 interrupt() 方法,可以中斷線程的執行。線程在執行過程中可以通過檢查自身是否被中斷來判斷是否停止執行。
public class MyThread extends Thread {
@Override
public void run() {while (!Thread.interrupted()) {// 線程執行的任務}
}
}
可以通過調用 interrupt() 方法中斷線程。
- 使用 stop() 方法(已廢棄):stop() 方法是 Thread 類中的方法,可以直接停止線程的執行。但該方法已被廢棄,不推薦使用,因為會導致線程的不可預期狀態,可能會造成資源的泄漏或數據的不一致。
public class MyThread extends Thread {
@Override
public void run() {while (true) {// 線程執行的任務}
}
}
可以通過調用 stop() 方法停止線程,但不推薦使用。
- 使用 Thread.interrupt() 和 isInterrupted() 方法:通過調用 Thread.interrupt() 方法中斷線程,并通過 isInterrupted() 方法判斷線程是否被中斷。
public class MyThread extends Thread {
@Override
public void run() {while (!isInterrupted()) {// 線程執行的任務}
}
}
可以通過調用 interrupt() 方法中斷線程,并通過 isInterrupted() 方法判斷線程是否被中斷。
總體來說,推薦使用標志位或 interrupt() 方法來停止線程,而不推薦使用 stop() 方法。
丸趣 TV 網 – 提供最優質的資源集合!
正文完