您的位置:首页 > 产品设计 > UI/UE

利用setDaemon(true)设置守护线程

2006-12-03 10:04 288 查看
守护线程是为其他线程的运行提供便利的线程。守护线程不会阻止程序的终止。

Java的垃圾收集机制的某些实现就使用了守护线程。

非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程。

程序可以包含守护线程和非守护线程。

程序只有守护线程时,该程序便可以结束运行。

如果要使一个线程成为守护线程,则必须在调用它的start方法之前进行设置(通过以true作为参数调用线程的setDaemon方法,可以将该线程定义为一个守护线程),否则会抛出IllegalThreadStateException异常。如果线程是守护线程,则isDaemon方法返回真。

注:1、如果在线程已经启动后,再试图使该线程成为守护线程,则会导致IllegalThreadStateException异常

2、事件调度线程是一个无穷循环的线程,而不是守护线程。因而,在基于窗口的应用程序调用System类的exit方法之前,事件调度线程不会终止。

3、不能将关键任务分配给守护线程。这些任务将会在事先没有警告的情况下终止,这可能导致不能正确地完成它们
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: