Thread(二) --> 后台线程

 

      创建一个线程的时候, 在Thread th1 = new Runner1(10); th1.setName("用户线程"); th1.start();

之后没有特别的制定该线程到底是用户线程 还是 后台线程的情况下 那么默认就是 用户线程.

 

 

在这种情况下,

         Thread th2 = new Runner1(100);
         th2.setDaemon(true);
         th2.setName("后台线程!");
         th2.start();

 

 看到了这里 th2.setDaemon(true); 是特别指定了 这个线程是后台的了!

 

       那么设置为后台线程到底有什么用处呢?

 

           其实无非就是能够让CPU处理的时候, 该后台线程 先让步于其它比较重要的线程.

 

        当一个应用程序的用户线程都已经停止的情况下, 无论 这个"停止" 是正常的运行退出了 还是运行过程中出错

 

java虚拟机都将会退出 , 当然这里面会有一点点延迟.  

 

        可见 , 后台线程是不被重视的, 换句话说 后台线程是服务性质的.

 

       "客人"都走光了, 那么"服务人员" 就可以休息了!

 

      

 

你可能感兴趣的:(Thread(二) --> 后台线程)