简介
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)
Daemon的作用是为其他线程的运行提供服务,比如说GC线程。
User Thread线程和Daemon Thread守护线程本质上来说去没啥区别的,唯一的区别之处就在虚拟机的离开:如果User Thread全部执行结束,Daemon Thread就会终止,虚拟机也会结束运行。
通过 Thread.setDaemon(true) 设置为守护线程,不设置则默认为用户线程。
注意事项
- 值得注意的是
Thread.setDaemon(true)必须在Thread.start()之前调用,否则将抛出IllegalThreadStateException。 - 不应该在守护线程中做 读写操作 或 计算逻辑 等操作,因为守护线程随时可能因为用户线程的终止而结束
本文介绍了Java中用户线程与守护线程的区别及应用。守护线程主要用于为用户线程提供服务,如垃圾回收。文章强调了守护线程的设置应在启动前完成,并提醒避免在守护线程中执行关键任务。
460

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



