前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中如何停止(stop)一个线程

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

作者头像
马克java社区
修改2021-04-09 10:06:55
7150
修改2021-04-09 10:06:55
举报
文章被收录于专栏:java大数据

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档