在Java中,正確中斷線程通常有兩種方法:
示例代碼如下:
Thread thread = new Thread(() -> {
while (!Thread.currentThread().isInterrupted()) {
// 執行線程邏輯
}
});
thread.start();
// 中斷線程
thread.interrupt();
示例代碼如下:
volatile boolean flag = true;
Thread thread = new Thread(() -> {
while (flag) {
// 執行線程邏輯
}
});
thread.start();
// 中斷線程
flag = false;
需要注意的是,中斷線程并不意味著線程立即停止,而是設置了中斷標志位之后,線程可以根據中斷標志位來決定是否停止執行。在編寫線程邏輯時,需要在適當的地方檢查中斷標志位,以確保線程可以正確響應中斷。