创建一个线程的时候, 在
之后没有特别的制定该线程到底是用户线程 还是 后台线程的情况下 那么默认就是 用户线程.
在这种情况下,
Thread th2 = new Runner1(100);
th2.setDaemon(true);
th2.setName("后台线程!");
th2.start();
看到了这里 th2.setDaemon(true); 是特别指定了 这个线程是后台的了!
那么设置为后台线程到底有什么用处呢?
其实无非就是能够让CPU处理的时候, 该后台线程 先让步于其它比较重要的线程.
当一个应用程序的用户线程都已经停止的情况下, 无论 这个"停止" 是正常的运行退出了 还是运行过程中出错
java虚拟机都将会退出 , 当然这里面会有一点点延迟.
可见 , 后台线程是不被重视的, 换句话说 后台线程是服务性质的.
"客人"都走光了, 那么"服务人员" 就可以休息了!