首页 > 编程语言 > 详细

java中如何停止(stop)一个线程

时间:2021-03-30 11:20:48      阅读:23      评论:0      收藏:0      [点我收藏+]

i)停止(stop)一个线程(靠着return, break,或异常手段)

马克-to-win:java的官方文档说不要用stop方法来停止一个线程。因为stop方法太狠,太极端,会出现同步问题,使数据不一致。所以我们会通过设置标志,通过return, break,异常等手段来控制流程自然停止。 

例:1.5.1

class MyThreadMark_to_win extends Thread{
    private boolean stop;
    public void run() {
        for (int i = 0; i < 100; i++) {
            if (stop) {
                System.out.println("退出了");
                return;
            }
            try {
                Thread.sleep(200);
            } catch (Exception e) {
                e.printStackTrace();

            }
            System.out.println("i = " + i);
        }
    }

    public void setStop(boolean stop) {
        this.stop = stop;
    }
}

public class Test {
    public static void main(String[] args) {
        MyThreadMark_to_win mt = new MyThreadMark_to_win();
        mt.start();
        try {
            Thread.sleep(300);
        } catch (Exception e) {
        }
        mt.setStop(true);
    }
}

更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44639795/article/details/103105955

java中如何停止(stop)一个线程

原文:https://www.cnblogs.com/xiaolongxia1922/p/14595553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!