daemon thread

用户线程:是你自己写的,可以手工调用;
守护线程(Daemon Thread):简单的说就是是后台线程,
  --他只在后台运行
  --他不需要手工调用,自动运行;
  --他的任务是为其他线程服务;(jvm垃圾回收就是典型的后台线程)
  --当所有前台线程死亡,后台线程生命结束。
  (前台所有线程死亡后,JVM会自动通知后台线程死亡)
===前台线程要变成后台线程要在线程start()之前,否则会报错
守护线程与普通线程的唯一区别是:当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则不会退出。(以上是针对正常退出,调用System.exit则必定会退出)  
   
   
  所以setDeamon(true)的唯一意义就是告诉JVM不需要等待它退出,让JVM喜欢什么退出就退出吧,不用管它。

猜你喜欢

转载自ssydxa219.iteye.com/blog/1448156
今日推荐