什么时候线程达到终止状态?当达到run()方法的结尾时,它会被终止吗?
那么检查线程是否被终止的正确方法是什么?因为以下情况似乎总是对我而言
if(!(thread.getState()).equals("TERMINATED")){}
有任何想法吗?
解决方法
第一个:
Thread.getState()
返回一个
Thread.State
,它不会等于一个String,所以你需要写这样的代码:
if(thread.getState()!=Thread.State.TERMINATED){ }
是的,当run()方法结束(通常是因为它引发一个异常),那么一个线程将转到TERMINATED
状态.