定義不同
使用者執行緒:平時使用到的執行緒皆為使用者執行緒。
守護線程:用來服務使用者執行緒的線程,例如垃圾回收線程。
作用區別
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中文網其他相關文章!