Java中的用户线程和守护线程

在Java中通常有两种线程:用户线程守护线程(也被称为服务线程
通过Thread.setDaemon(false)设置为用户线程
通过Thread.setDaemon(true)设置为守护线程
线程属性的设置要在线程启动之前,否则会报IllegalThreadStateException异常
如果不设置线程属性,那么默认为用户线程

 
用户线程和守护线程的区别:
1.主线程结束后用户线程还会继续运行,JVM存活
2.如果没有用户线程,都是守护线程,那么JVM结束(所有的线程都会结束)

 
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。也就是说守护线程不依赖于终端,但是依赖于系统,与系统“同生共死”。那Java的守护线程是什么样子的呢。当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则JVM不会退出。

猜你喜欢

转载自blog.csdn.net/weixin_43938560/article/details/89856429
今日推荐