首頁 >Java >java教程 >Java中守護線程和使用者線程的差別是什麼?

Java中守護線程和使用者線程的差別是什麼?

王林
王林轉載
2023-04-23 14:49:071863瀏覽

定義不同

使用者執行緒:平時使用到的執行緒皆為使用者執行緒。

守護線程:用來服務使用者執行緒的線程,例如垃圾回收線程。

作用區別

1、守護執行緒與使用者執行緒的差異主要在於Java虛擬機器是後存活。

2、使用者執行緒:當任何一個使用者執行緒未結束,Java虛擬機器是不會結束的。守護線程:如果只剩下守護線程未結束,Java虛擬機結束。

實例

在主執行緒中啟動守護執行緒。

package com.thread.model.threads;
 
 
/**
 * Hello world!
 *
 */
public class ThreadClass 
{
    public static void main( String[] args )
    {
        Thread thread = new Thread(new Runnable() {
 
 
public void run() {
while(true) {
try {
System.out.println("守护线程心跳一次");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
       
        });
        
        thread.setDaemon(true);//将该线程设置为守护线程
        
        thread.start();
        
        try {
Thread.sleep(10000);
Thread currentthread = Thread.currentThread();
System.out.println("主线程"+currentthread.getName()+"退出!");
} catch (InterruptedException e) {
e.printStackTrace();
}
    }
 
}

以上是Java中守護線程和使用者線程的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除