利用setDaemon(true)设置守护线程
2006-12-03 10:04
288 查看
守护线程是为其他线程的运行提供便利的线程。守护线程不会阻止程序的终止。
Java的垃圾收集机制的某些实现就使用了守护线程。
非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程。
程序可以包含守护线程和非守护线程。
程序只有守护线程时,该程序便可以结束运行。
如果要使一个线程成为守护线程,则必须在调用它的start方法之前进行设置(通过以true作为参数调用线程的setDaemon方法,可以将该线程定义为一个守护线程),否则会抛出IllegalThreadStateException异常。如果线程是守护线程,则isDaemon方法返回真。
注:1、如果在线程已经启动后,再试图使该线程成为守护线程,则会导致IllegalThreadStateException异常
2、事件调度线程是一个无穷循环的线程,而不是守护线程。因而,在基于窗口的应用程序调用System类的exit方法之前,事件调度线程不会终止。
3、不能将关键任务分配给守护线程。这些任务将会在事先没有警告的情况下终止,这可能导致不能正确地完成它们
Java的垃圾收集机制的某些实现就使用了守护线程。
非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程。
程序可以包含守护线程和非守护线程。
程序只有守护线程时,该程序便可以结束运行。
如果要使一个线程成为守护线程,则必须在调用它的start方法之前进行设置(通过以true作为参数调用线程的setDaemon方法,可以将该线程定义为一个守护线程),否则会抛出IllegalThreadStateException异常。如果线程是守护线程,则isDaemon方法返回真。
注:1、如果在线程已经启动后,再试图使该线程成为守护线程,则会导致IllegalThreadStateException异常
2、事件调度线程是一个无穷循环的线程,而不是守护线程。因而,在基于窗口的应用程序调用System类的exit方法之前,事件调度线程不会终止。
3、不能将关键任务分配给守护线程。这些任务将会在事先没有警告的情况下终止,这可能导致不能正确地完成它们
相关文章推荐
- 守护线程setDaemon(true)
- setDaemon(true)后就是后台线程(守护线程 ),反之就是前台线程(用户线程)
- python笔记9-多线程Threading之阻塞(join)和守护线程(setDaemon)
- Java【多线程知识总结(2)】调用setDaemon(true)变成后台线程
- Java【多线程知识总结(2)】调用setDaemon(true)变成后台线程
- ROS 监控制线程通过setDaemon 设置为随启动线程退出
- Java【多线程知识总结(2)】调用setDaemon(true)变成后台线程
- Java多线程 小知识 守护线程(后台线程)setDaemon、join方法、优先级、yield方法
- 从头认识多线程-1.17 守护线程setDaemon()
- python 线程setDaemon(True)
- JavaSE8基础 多线程setDaemon 守护线程
- Thread.setDaemon() --守护线程
- JAVA——守护线程或用户线程(setDaemon)
- 黑马程序员——守护线程setdaemon()
- 32-多线程(wait和sleep的区别)1 2 33-多线程(停止线程方式-定义标记) 35-多线程(守护线程-setDaemon).1 2
- Thread.setDaemon守护线程详解
- 线程类Thread的API接口分析系列之守护线程setDaemon
- java的调度、优先级setPriority、yield、jion和守护线程setDaemon
- 守护线程setdaemon()
- java停止线程 interrupt 和守护线程setDaemon