您的位置:首页 > 编程语言 > Java开发

一分钟了解java守护线程(daemon)

2017-12-13 00:00 549 查看
假设有两个线程:子线程(threaddemo)和主线程(main)如下所示:

package daemon;
/**
*
* @author sunchm
*
*/
public class Daemon {
public static void main(String[] args) {
ThreadDemo threaddemo = new ThreadDemo();
Thread threadson = new Thread(threaddemo);
//设置守护线程
threadson.setDaemon(true);
//启动线程
threadson.start();
System.out.println("bbb");
}
}
class ThreadDemo implements Runnable{

@Override
public void run() {
System.out.println("aaa");
while(true);//无限循环
}

}

子线程设置为守护线程(threadson.setDaemon(true);)运行如下:



守护线程和主线程有同样的生命周期,主死子(守护线程)必死。

子线程设置为非守护线程(threadson.setDaemon(false);)运行如下:



非守护线程和主线程无关联,主死子不一定(守护线程)死。这里说的不一定死是由于我的子线程中代码中有while(ture);语句,如果没有死循环语句子线程执行完也会死掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java守护线程