美文网首页程序员
JAVA Thread stop弃用原因

JAVA Thread stop弃用原因

作者: 周_0717 | 来源:发表于2020-07-14 19:27 被阅读0次
  1. 该方法会立刻停止线程运行,放弃所有未执行的代码,包括在 catch 或 finally 语句中的,因此可能会导致任务清理工作无法完成,如文件流,数据库指针等的关闭。
  2. 该方法会释放该线程所有的资源监视器,由于任务执行成都不可知,导致该线程所持有的资源状态不确定,可能出现数据不一致的问题。

如何正确停止线程:

  1. 任务执行前或指定执行节点检查可执行状态;
@Override
public void run() {
    while(!exit){
        working...
    }
}
  1. 使用 interrupt() 中断线程;
@Override
public void run() {
    while(!Thread.currentThread().isInterrupted()){
        working...
    }
}

2020-07-14

相关文章

网友评论

    本文标题:JAVA Thread stop弃用原因

    本文链接:https://www.haomeiwen.com/subject/rwbfhktx.html