Daemon线程

1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程   
2.Daemon thread在Java里面的定义是,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出。  
  虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都结束的时候,虚拟机的进程才会结束,不管在运行的线程是不是main()线程。
3.Main主线程结束了(Non-daemon thread),如果此时正在运行的其他threads是daemon threads,JVM会使得这个threads停止,JVM也停下
  如果此时正在运行的其他threads有Non-daemon threads,那么必须等所有的Non daemon线程结束了,JVM才会停下来
4.总之,必须等所有的Non-daemon线程都运行结束了,只剩下daemon的时候,JVM才会停下来,注意Main主程序是Non-daemon线程
  默认产生的线程全部是Non-daemon线程


class   A   implements   Runnable{  
          public   void   run(){  
                  for(;;){  
                          System.out.println("Thread   A   run");  
                  }  
          }  
   
          public   static   void   main(String[]   args){  
                  System.out.println("Thread   main   started!");  
                  try{  
                          (new   Thread(new   A())).start();  
                  }   catch   (Exception   e){  
                  }  
                  System.out.println("Thread   main   ended!");  
          }  
  };  
 
  会一直跑下去,因为main进程结束了,但   A   进程还没有结束,虚拟机不能退出,  
   
  class   A   implements   Runnable{  
          public   void   run(){  
                  for(;;){  
                          System.out.println("Thread   A   run");  
                  }  
          }  
   
          public   static   void   main(String[]   args){  
                  System.out.println("Thread   main   started!");  
                  try{  
                          Thread   a   =   new   Thread(new   A());  
                          a.setDaemon(true);  
                          a.start();  
                  }   catch(Exception   e){  
                  }  
                  System.out.println("Thread   main   ended!");  
          }  
  };  
   
  main   线程一退出,虚拟机就退出了,因为剩下在跑的   a   线程是守护线程,虚拟机不管它的死活的,直接退出了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值