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

线程的五大状态(一)

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

  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标志位来停下线程,推荐使用这种方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值