您的位置:首页 > 其它

什么是后台(守护)线程?

2015-07-17 16:22 204 查看
所谓的后台(daemon)线程,也叫守护线程,是指程序在运行的时候,在后台提供一种通用服务的线程(例如:守护线程GC),并且,这种线程并不属于程序中不可或缺的部分;因此当所有的非后台线程结束时,程序也就终止了,同时杀死所有的后台线程。相反,只要有任何非后台线程(例如:非守护线程main())还存在,程序就不会终止。后台线程具有最低的优先级。

setDaemon(boolean on)方法可以方便的设置线程的Daemon模式,true为Daemon模式,默认(false)为User模式。setDaemon(boolean on)方法必须在线程启动(start())之前调用,当线程正在运行时调用会产生异常。

isDaemon方法将测试该线程是否为守护线程。注意:当你在一个守护线程中产生了其他线程,那么这些新产生的线程不用设置Daemon属性,都将是守护线程,用户线程同样。  

守护线程与普通线程的唯一区别是:守护线程就是main同生共死,当main退出,它将终止,而普通线程是在任务执行结束才停止。

普通线程代码:



View Code
此时,进入主线程,创建了一个线程,随后将它设置为后台线程,并调用start()方法,使子线程就绪,但此时,程序中没有任何非后台线程,所以,主线程可以结束,程序也会停止。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: