java多线程编程系列-基础3-线程Daemon线程的理解
java多线程中,有一种特殊的线程叫做守护线程,关键词是Deamon。
我们在平时的书上都有介绍过,但是很少有用代码来讲的。我们往往记住的是:
守护线程是一般是用于辅助的,提供一些后台处理的理想方法,他们只是在支持其他非守护线程的时候才是需要的。
?
理解的深一点的,可以这么讲,守护线程的生命是和mian关联在一起的,如果man方法用完了,主线程死掉了,那么
守护线程就会陪着去送命,也会死掉的。而如果不是守护线程的话是不会这样的。
下面我们来看下代码的吧:
?
首先创建一个线程.守护线程并不是在创建线程的时候指定的,这其实和设定线程的名字是一样的,要再线程开始的去指定的。
?
?
?
?
main的测试类(这个时候,不是守护线程)
enter main()entering run()in run() - currentThread()=Thread[Thread-0,5,main]in run()-- woke up againin run()-- woke up againin run()-- woke up againin run()-- woke up againin run()-- woke up againleaving main(0in run()-- woke up again?结果就是当main方法死掉以后,守护线程马上就死掉了的
?
1 楼 endual 2012-02-21 守护线程可能非常有用,但是要小心确保其他线程所有的非守护线程消亡时,不会由于他的终止来带来危害