在Java中,你不能直接終止一個線程。線程的終止應該由線程自己決定。但是,你可以請求一個線程中斷,這樣線程就可以決定如何響應中斷。對于父子線程的情況,你需要分別處理每個線程。
首先,你需要確保你的線程響應中斷。在線程的run方法中,你應該定期檢查中斷狀態,并在適當的時候響應中斷。例如:
public class MyThread extends Thread {
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
// 線程執行的任務
}
}
}
然后,你可以使用interrupt()
方法來請求線程中斷:
MyThread parentThread = new MyThread();
MyThread childThread = new MyThread();
parentThread.start();
childThread.start();
// 請求父線程和子線程中斷
parentThread.interrupt();
childThread.interrupt();
請注意,interrupt()
方法并不會立即終止線程,而是給線程發送一個中斷信號。線程需要在適當的時候檢查中斷狀態并響應中斷。因此,你需要確保你的線程實現了合適的中斷處理邏輯。