zoukankan      html  css  js  c++  java
  • 66.Java线程生命周期

    线程生命周期

    任何事物都是生命周期,线程也是,

    1. 正常终止  当线程的run()执行完毕,线程死亡。

    2. 使用标记停止线程

    注意:Stop方法已过时,就不能再使用这个方法。

    如何使用标记停止线程停止线程。

    开启多线程运行,运行代码通常是循环结构,只要控制住循环,就可以让run方法结束,线程就结束。

    class StopThread implements Runnable {
        public boolean tag = true;
        @Override
        public void run() {
            int i = 0;
    
            while (tag) {
                i++;
                System.out.println(Thread.currentThread().getName() + "i:" + i);
            }
        }
    }
    public class Demo8 {
        public static void main(String[] args) {
            StopThread st = new StopThread();
            Thread th = new Thread(st, "线程1");
            th.start();
            for (int i = 0; i < 100; i++) {
                if (i == 50) {
                    System.out.println("main i:" + i);
                    st.tag = false;
                }
            }
        }
    }

    上述案例中定义了一个计数器i,用来控制main方法(主线程)的循环打印次数,在i到50这段时间内,两个线程交替执行,当计数器变为50,程序将标记改为false,也就是终止了线程1的while循环,run方法结束,线程1也随之结束。注意:当计数器i变为50的,将标记改为false的时候,cpu不一定马上回到线程1,所以线程1并不会马上终止。

    author@nohert
  • 相关阅读:
    ros论坛
    python--dict和set类型--4
    python--条件判断和循环--3
    python--list和tuple类型--2
    Unicode与UTF-8互转(C语言实现)
    spring mvc 返回JSON数据
    值得学习的C语言开源项目和库
    mudos源码分析
    Freemarker使用总结
    Maven详解
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/13599327.html
Copyright © 2011-2022 走看看