線程組
public class ThreadGroupDemo {
public static void main(String[] args){
ThreadGroup tg = new ThreadGroup("DemoGroup");
System.out.print("main:創建並啓動線程");
for(int i=0; i<10; i++){
Thread t = new Thread(tg, new InterruptableSleepThread());
t.start();
}
try {
System.out.print("main:sleep 0.5s");
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.print("main:中斷線程組");
tg.interrupt();
System.out.print("main:退出");
}
}
運行日誌:
main:創建並啓動線程Thread-0:0
Thread-3:0
Thread-1:0
Thread-2:0
Thread-4:0
main:sleep 0.5sThread-5:0
Thread-6:0
Thread-8:0
Thread-9:0
Thread-7:0
Thread-0:1
Thread-3:1
Thread-4:1
Thread-2:1
Thread-1:1
Thread-8:1
Thread-5:1
Thread-7:1
Thread-9:1
Thread-6:1
main:中斷線程組main:退出Thread-3:線程被中斷。
Thread-3:取得中斷信號狀態:false
Thread-3:線程退出。
Thread-2:線程被中斷。
Thread-2:取得中斷信號狀態:false
Thread-1:線程被中斷。
Thread-4:線程被中斷。
Thread-5:線程被中斷。
Thread-5:取得中斷信號狀態:false
Thread-5:線程退出。
Thread-4:取得中斷信號狀態:false
Thread-4:線程退出。
Thread-7:線程被中斷。
Thread-6:線程被中斷。
Thread-6:取得中斷信號狀態:false
Thread-0:線程被中斷。
Thread-0:取得中斷信號狀態:false
Thread-0:線程退出。
Thread-6:線程退出。
Thread-9:線程被中斷。
Thread-7:取得中斷信號狀態:false
Thread-7:線程退出。
Thread-1:取得中斷信號狀態:false
Thread-1:線程退出。
Thread-2:線程退出。
Thread-8:線程被中斷。
Thread-8:取得中斷信號狀態:false
Thread-8:線程退出。
Thread-9:取得中斷信號狀態:false
Thread-9:線程退出。