daemon thread存在的价值就是在后台为它的前台线程提供“通用性服务”。它有一个主要特性:它不属于程序的本体。如果在main线程中你调用了用户线程,并且用户线程未在卖弄线程之前中止,那么即使main线程死了,程序也会继续运行下去。因为只有等所有的用户线程中止后,程序才能停止。
可daemon不同,由于它不是程序的本体,你可以把它理解为程序主体的寄生物,默默的在后面关注main线程,当main线程停止时,它自然也无法存在,消亡了。呵呵,这么说不知道还清不清楚?只是我个人理解,不知道是不是完全正确。欢迎板砖~~~
可daemon不同,由于它不是程序的本体,你可以把它理解为程序主体的寄生物,默默的在后面关注main线程,当main线程停止时,它自然也无法存在,消亡了。呵呵,这么说不知道还清不清楚?只是我个人理解,不知道是不是完全正确。欢迎板砖~~~
不过,用户线程和Daemon之间的区别的确不是很清晰,虽然一般而言,Daemon是用来对用户线程提供服务的,但Daemon完成这种关键服务的时间有可能比提出要求的用户线程的生命期要长.