import java.io.IOException;


public class TestStopThread implements Runnable{

    private boolean flag=true;

    @Override

    public void run() {


        System.out.println(Thread.currentThread().getName()+"线程开始");

        int i=0;

        while (flag){

            System.out.println(Thread.currentThread().getName()+""+i++);

            try {

                try {

                    Thread.sleep(1000);

                } catch (InterruptedException e) {

                    e.printStackTrace();

                }

            } catch (Exception e) {

                e.printStackTrace();

            }

            System.out.println(Thread.currentThread().getName()+"线程结束");

        }

    }

    public void stop(){

        this.flag=flag;

    }


    public static void main(String[] args) throws IOException {

        System.out.println("主线程开始");

        TestStopThread tst=new TestStopThread();

        Thread t=new Thread(tst);

        t.start();

        System.in.read();

        tst.stop();

        System.out.println("主线程结束");

    }

}

老师 运行输入后 主线程结束 子线程还一直在跑 不能结束?

相关课程:JAVA 全系列>第二阶段:JAVA 基础深化和提高>多线程技术>线程的使用_终止线程的典型方式

©2014-2023 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备13018289号-12    营业执照    经营许可证:京B2-20212637