Upv*_*ote 10 java multithreading
线程什么时候达到终止状态?到达方法结束时是否会终止run()?
那么检查线程是否被终止的正确方法是什么?因为以下条件似乎总是适合我
if(!(thread.getState()).equals("TERMINATED")){}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Joa*_*uer 18
首先:Thread.getState()返回a Thread.State,它永远不会等于a String,所以你需要像这样编写代码:
if(thread.getState()!=Thread.State.TERMINATED){ }
Run Code Online (Sandbox Code Playgroud)
是的:当run()方法结束时(正常或因为它抛出异常),a Thread将进入TERMINATED状态.