服务器之家

服务器之家 > 正文

java通过共享变量结束run停止线程的方法示例

时间:2019-10-22 11:30     来源/作者:java教程网

stop()方法已经被弃用,原因是不太安全。API文档中给出了具体的详细解释。
通过interrupted()方法打断线程。不推荐。
通过共享变量结束run()方法,进而停止线程。如实例

 

复制代码代码如下:


public class ThreadInterrupt {
    public static void main(String []args){
        Runner run = new Runner();
        run.start();
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block

        }

        //run.stop();//已经废弃的方法,不建议使用,过于粗暴
        //run.interrupt(); //抛出异常,但是在异常处理中写业务显然不合适,不建议使用
        run.flag=false;//建议使用的停止线程的方法
    }
}

 

class  Runner extends Thread{
    boolean flag = true;
    public void run(){
    /*    while(true){
            System.out.println(new Date()+"----");
            try {
                sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                System.out.println("Interrupted");
                return;
            }
        }
        */

        while(flag){
            System.out.println(new Date()+"----");
            try {
                sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                System.out.println("Interrupted");
                return;
            }
        }
    }
}

 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部