Java用戶線程是什么
1.Java語言無論是線程還是線程池,默認都是用戶線程,因此用戶線程也叫普通線程。
2.以線程為例,要查看行程是否為守護行程,只需通過調(diào)用isdaemon()方法查詢即可。如果查詢值為false,則表示不是守護行程,當(dāng)然屬于用戶線程。
實例
public static void main(String[] args) throws InterruptedException {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("我是子線程");
}
});
System.out.println("子線程==守護線程:" + thread.isDaemon());
System.out.println("主線程==守護線程:" + Thread.currentThread().isDaemon());
}
Java守護線程和用戶線程的區(qū)別
定義不同
用戶線程:平時使用到的線程均為用戶線程。
守護線程:用來服務(wù)用戶線程的線程,例如垃圾回收線程。
作用區(qū)別
1、守護線程和用戶線程的區(qū)別主要在于Java虛擬機是后存活。
2、用戶線程:當(dāng)任何一個用戶線程未結(jié)束,Java虛擬機是不會結(jié)束的。守護線程:如果只剩守護線程未結(jié)束,Java虛擬機結(jié)束。
實例
在主線程中啟動守護線程。
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);//將該線程設(shè)置為守護線程
thread.start();
try {
Thread.sleep(10000);
Thread currentthread = Thread.currentThread();
System.out.println("主線程"+currentthread.getName()+"退出!");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
以上就是Java用戶線程是什么?Java守護線程和用戶線程的區(qū)別有哪些,希望對大家有所幫助。更多關(guān)于“java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴謹,每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。