liqiliang1437
package com.qiliang.demo06_标志位停止线程;
/*
    1.建议线程正常停止,利用次数,不建议死循环
    2.建议使用标志位,设置一个标志位
    3.不要使用stop或者destroy等过时的方法或jdk不建议使用的方法
 */
public class StopThreadTest implements Runnable{

    // 1.设置一个标识位
    private boolean flag = true;

    @Override
    public void run() {
        int i = 0;
        while (flag){
            System.out.println("run...Thread"+i++);
        }
    }

    // 2.设置一个公开的方法停止线程,转换标志位
    public void stop(){
        this.flag=false;
    }
    public static void main(String[] args) {
        StopThreadTest stopThreadTest = new StopThreadTest();


        new Thread(stopThreadTest).start();

        for (int i = 0; i < 1000; i++) {
            System.out.println("main线程"+i);
            if(i==900){
                // 调用stop方法切换标志位,让线程停止
                stopThreadTest.stop();
                System.out.println("线程该停止了");
            }
        }

    }
}

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2021-12-12
  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
  • 2022-03-05
猜你喜欢
  • 2021-10-13
  • 2022-12-23
  • 2021-12-15
  • 2021-08-12
  • 2021-12-24
  • 2022-03-06
  • 2022-12-23
相关资源
相似解决方案