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

被折叠的 条评论
为什么被折叠?



