java学习(线程的五大状态(一))

发布于:2023-01-04 ⋅ 阅读:(420) ⋅ 点赞:(0)

线程的五大状态(一)

任何一个线程都有五大状态:

  1. 创建状态:一个线程被new出来的时候
  2. 就绪状态:线程调用start方法的时候
  3. 运行状态:被cpu调度
  4. 阻塞状态:线程进入休眠等待调用
  5. 死亡状态:一个线程死亡时不可再次唤醒

在这里插入图片描述
狂神说Java yyds!


关于线程的五大状态,有一些常用的方法

包括:setPriority(),jion().sleep(),yield(),interrupter(),isAlive()方法

线程停止

线程停止有两种方法:使用jdk提供的stop方法,或者让线程自己停下来,即当主线程停下来的时候,子线程就停了。

  1. stop,一个线程直接调用stop方法即可

    public class test {
        public static void main(String[] args) {
            test1 test1 = new test1();
            Thread thread = new Thread(test1);
            thread.start();
            thread.stop();
            new Thread(new test1(),"小红").start();
    
        }
    
    }
    class test1 implements Runnable {
    
        @Override
        public void run() {
            for (int i = 0; i < 20; i++) {
                System.out.println(Thread.currentThread().getName()+i);
            }
        }
    }
    

    此处直接调用stop方法,随后会发现小明的线程并没有执行,因为线程已经被停下了,这种方法虽然简单粗暴,但是很容易出错,所以已经被jdk废弃,不推荐使用

    1. 就是用flag标志位来停下线程

在这里插入图片描述

lag标志位来停下线程,推荐使用这种方法


网站公告

今日签到

点亮在社区的每一天
去签到