JAVA中断线程的方法
线程。停,线程。暂停,线程。Resume和Runtime.runFinalizersOnExit,这些终止线程运行的方法,已经被放弃了,用起来极其不安全!
现在要想安全有效地终止一个线程,应该采用以下方法:
1、线程正常执行,正常结束。
也就是说,如果run方法结束,线程就会正常结束。
2、监控一些情况,结束线程的不间断运行。
但是,往往有些线程是伺服线程。它们需要长时间运行,只有满足一定的外部条件,这些线程才能被关闭。
通常,当(true)时,它们在无限循环中执行。
例如:
@ override
public void run(){
while(true){
some work();
if(已完成){
break;
}
试试{
thread . sleep(10000);
} catch(中断异常e) {
/* TODO自动生成catch块
*
*/
e . print stack trace();
}
}
}
我们可以检查外部条件,看看是否需要关闭while无限循环中的当前线程。如果是,break,跳出无限循环,或者抛出异常,跳出无限循环,结束线程。
0条评论