Java中線程分為兩種類型:用戶線程和守護(服務)線程。通過Thread.setDaemon(false)設置為用戶線程;通過Thread.setDaemon(true)設置為守護線程;不設置則默認為用戶線程。

結束單線程用 Thread.interrupt() 方法,多線程結束則需要設置守護線程。當不存在用戶線程時,守護線程就會全部終結(可以理解為:守護線程是服務線程,用戶線程是被服務線程,用戶線程(被服務線程)全都沒有了,服務線程便沒有存在意義而自動終結)
例子:
class StopThread implements Runnable {
public void run() {
// 構造函數,實例化時默認執行
while (true) {
// 永真循環,用于檢測該守護線程會不會自動結束
System.out.println(Thread.currentThread().getName() + "....run");
}
}
}
public class threadTest {
public static void main(String[] args) {
StopThread st = new StopThread();
Thread t1 = new Thread(st);
// 創建新線程
Thread t2 = new Thread(st);
t1.setDaemon(true);
// 設置成守護(服務)線程,當用戶線程全掛時,所有守護線程也跟著掛
t2.setDaemon(true);
t1.start();
// 線程開始
t2.start();
int num = 0;
while (true) {
if (num++ == 10) {
break;
}
System.out.println(Thread.currentThread().getName() + "......." + num);
}
System.out.println("over");
}
}
本文題目:Java語言多線程終止中的守護線程實例-創新互聯
標題鏈接:http://www.js-pz168.com/article30/djhoso.html
成都網站建設公司_創新互聯,為您提供ChatGPT、外貿建站、網站改版、App設計、搜索引擎優化、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯