守护线程和非守护线程区别你知道吗?

守护线程实现方式?

Thread t = new Thread();
t.setDaemon(); //必须在start方法前设置
t.start

区别

1、用户线程会阻止java虚拟机的正常停止,即一个java虚拟机只有在其所有用户线程都运行结束的情况下才能正常停止

2、守护线程不会影响java虚拟机的 正常停止,即应用程序中有守护线程在运行也不影响 java虚拟机的正常停止。

3、守护线程通常用于执行一些重要性不很高的任务,例如用户监视其他线程的运行情况

4、如果java虚拟机是被强制停止的,比如在linux系统下使用kill命令强制终止一个java虚拟机线程,那么即使是用户线程也无法阻止java虚拟机停止

史上最全的并发编程脑图:https://www.processon.com/view/5b1f1ad7e4b03f9d251c06e5#map

猜你喜欢

转载自blog.csdn.net/fd2025/article/details/108326079
今日推荐