线程什么时候到达终止地位?结束时是否会终止run()
方法达到了?
那么检查线程是否终止的正确方法是什么?因为以下条件对我来说似乎总是成立
if(!(thread.getState()).equals("TERMINATED")){}
有任何想法吗?
First: Thread.getState() http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html#getState%28%29返回一个Thread.State http://download.oracle.com/javase/6/docs/api/java/lang/Thread.State.html,它永远不会等于String
,所以你需要像这样编写代码:
if(thread.getState()!=Thread.State.TERMINATED){ }
是的:当run()
方法结束(正常或因为它抛出异常),然后Thread
将去TERMINATED http://download.oracle.com/javase/6/docs/api/java/lang/Thread.State.html#TERMINATED state.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)