美文网首页程序员
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