zoukankan      html  css  js  c++  java
  • 线程五大状态与线程停止

    线程五大状态与线程停止

    线程状态

    线程方法

    停止线程

    • 不推荐使用JDK提供的stop()、destroy()方法。【已废弃】
    • 推荐线程自己停止下来
    • 建议使用一个标志位进行终止变量,当flag=false,则终止线程运行。

    代码如下

    //测试stop
    //1.建议线程正常停止--->利用次数,不建议死循环,
    //2.建议使用标志位--->设置一个标志位
    //3.不要使用stop或者destroy等过时或者JDK不建议使用的方法
    public class TestStop implements Runnable{
    
        //设置 一个标识位
        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) {
            TestStop testStop = new TestStop();
            new Thread(testStop).start();
    
            for (int i = 0; i < 1000; i++) {
                System.out.println("main"+i);
                if (i==900){
                    //调用stop方法切换标识位,让线程停止
                    testStop.stop();
                    System.out.println("线程该停止了");
                }
            }
        }
    }
    
  • 相关阅读:
    lua module
    lua require
    lua io
    lua table2
    lua table1
    【leetcode】魔术排列
    【leetcode】速算机器人
    【leetcode】黑白方格画
    【leetcode】根据数字二进制下 1 的数目排序
    【leetcode】插入区间
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13307741.html
Copyright © 2011-2022 走看看