黑马程序员技术交流社区
标题:
Daemon线程与一般线程的差别
[打印本页]
作者:
杨长川
时间:
2013-3-23 14:45
标题:
Daemon线程与一般线程的差别
本帖最后由 杨长川 于 2013-3-23 21:56 编辑
如题,Daemon线程 没怎么看懂,它与一般的线程差别到底有哪些??
package onlyfun.caterpillar;
public class DaemonThread {
public static void main(String[] args) {
Thread thread = new Thread(
// 这是匿名类的写法
new Runnable() {
public void run() {
while(true) {
System.out.print("T");
}
}
});
// 设定为Daemon线程
thread.setDaemon(true);
thread.start();
}
}
作者:
黑马朱超
时间:
2013-3-23 15:04
setDaemon(true);平时和前台线程抢资源,但是当所有的前台线程结束后,后台线程(守护线程)自动结束。JVM虚拟机退出
使用在要守护线程运行之前。
public static void main(String[] args)
{
......
ti.setDaemon(true);//声明是守护线程
t2.setDaemon(true);
t1.start();//守护线程启动并运行
t2.start();
}
形象点比喻,前台线程和守护线程共同在拍电影,前台线程就相当于演员,守护线程就是给前台线程提供灯光支持。
演员演完了,灯光就可以灭了。
守护线程运行的理由是因为前台线程运行着,像个仆人。主人干什么,他就干什么。
作者:
秦久启
时间:
2013-3-23 16:15
简单的说就是,后台线程的特点就是:开启后和前台线程共同抢夺cup执行权运行,开启和运行都是没有区别的,当所有的前台线程都结束后,后台线程就会自动结束。后台线程也叫守护线程或用户线程,setDaemon()方法必须在启动线程前调用!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2