黑马程序员技术交流社区

标题: 守护线程问题 [打印本页]

作者: 朱玉玺    时间: 2013-2-19 22:32
标题: 守护线程问题
本帖最后由 朱玉玺 于 2013-2-26 17:54 编辑

主线程能设为守护线程吗?如果不可以,能不能解释下原因;如果可以,怎么才能让主线程成为守护线程而不报错 java.lang.IllegalThreadStateException
怎么把一个线程设置为另一个线程的线程的守护线程?在主线程中启动一个线程并把它设为守护线程,那这个线程是主线程的守护线程;对于一个不是主线程的线程,如何设置另一个线程为其守护线程?
作者: 朱玉玺    时间: 2013-2-19 23:20
ykglove 发表于 2013-2-19 23:13
我的理解是不可以的,因为main方法作为程序的入口是一个独立的线程来调用的,如果要使一个线程成为守护线程 ...

跟我想的差不多。有没有办法在main方法启动前,就调用将启动的那个主线程的setDaemon方法,利用反射能拿到main方法,并调用,调用之前能不能设置后台下
作者: 寇弘禄    时间: 2013-2-19 23:26
设置守护线程需要在线程开启之前设置,主线程是程序的入口,所以应该是没法设置。将一个线程设置为另一个线程的守护线程,毕老师好像没提这个吧,只是说了一个线程或者是守护线程或者是非守护线程吧,不知道我理解的对不对。
作者: 朱玉玺    时间: 2013-2-19 23:59
zuiaikou 发表于 2013-2-19 23:26
设置守护线程需要在线程开启之前设置,主线程是程序的入口,所以应该是没法设置。将一个线程设置为另一个线 ...

是啊,这块是我拓展一下,比如在Runnable子类的run方法中定义一个线程A,A设为守护并启动,那么A守护的应该是运行该子类对象的那个线程,而非主函数了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2