设为首页 加入收藏

TOP

JAVA中断线程的方法
2014-11-15 20:00:39 来源: 作者: 【 】 浏览:17
Tags:JAVA 中断 线程 方法

  Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经被废弃,使用它们是极端不安全的!

现在,如果你要安全有效地终止一个线程,应该采用以下这些方法:

1,线程正常执行完毕,正常结束。
也就是让run方法执行完毕,该线程就会正常结束。

2,监视某些条件,结束线程的不间断运行。
然而,常常有些线程是伺服线程。它们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。
通常,它们执行在一个while(true)的死循环中。
如:
@Override
publicvoid run() {

while(true){
someWork();
if(finished){
break;
}
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
/* TODO自动生成 catch 块
*
*/
e.printStackTrace();
}
}

}
我们可以在while死循环内,每次循环时,察看外部条件,看看是否需要关闭当前线程。如果是,就break,跳出死循环,或者是抛出异常,跳出死循环,结束线程。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇根据输入的长度动态的截取字符串.. 下一篇两种特殊的Java容器类List和Set分..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: