编程语言
首页 > 编程语言> > Java多线程之终止线程

Java多线程之终止线程

作者:互联网

停止线程:

1、不推荐使用JDK提供的stop(),destroy()方法

2、推荐线程自己停止下来

3、建议使用标志位进行终止线程,当flag=false的时候,线程终止

package lesson04;

public class TestStop implements Runnable{

    //1、设置线程终止标志位
    private Boolean flag = true;

    //2、线程执行体使用标识符
    @Override
    public void run() {
        int i = 0;
        while (flag){
            System.out.println("线程执行了"+(i++));
        }
    }

    //3、创建方法改变标志
    private void changeFlag() {
        this.flag=false;
    }

    public static void main(String[] args) {

        //创建线程
        TestStop testStop = new TestStop();
        new Thread(testStop).start();

        for (int i = 0; i < 1000; i++) {
            System.out.println("main执行了"+i);
            //当执行到900的时候终止线程
            if (i == 900) {
                //调用方法终止线程
                testStop.changeFlag();
                System.out.println("线程终止=========================");
            }

        }
    }

}

注意:推荐使用次数来改变标识位终止线程,避免死循环。次数指的是main()执行的次数,而不是线程执行的次数! 

 

标签:Java,TestStop,System,flag,线程,终止,多线程,testStop
来源: https://blog.csdn.net/qq_38723455/article/details/112061060