线程的几种方式

线程状态

在这里插入图片描述

  • NEW:安排了工作,还为开始行动(创建了Thread对象,但是还没调用start方法,系统内核还没有线程)
  • RUNNABLE:可工作的,又可以分成正在工作中和即将开始工作(就绪状态,有两种:1. 正在CPU上运行,2.还没在CPU运行呢,但是已经准备好了)
  • BLOCKED:这几个都表示排队等着其他事情(等待锁,进入阻塞状态)
  • WAITING:这几个都表示排队等着其他事情(线程中调用了wait进入阻塞状态)
  • TIMED_WAITING:这几个都表示排队等着其他事情(线程中通过sleep进入的阻塞状态)
  • TERMINGTED:工作完成了(系统里面的线程已经执行完毕了,销毁了(相当于run执行完了,但是Thread对象还在))
    在这里插入图片描述
public class Demo12 {
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(() -> {
            System.out.println("hello thread");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });

        // 在 start 之前获取. 获取到的是线程还未创建的状态
        System.out.println(t.getState());

        t.start();
        // Thread.sleep(500);
        System.out.println(t.getState());
        t.join();

        // 在 join 之后获取. 获取到的是线程已经结束后的状态
        System.out.println(t.getState());
    }

}
运行结果:
    NEW
	RUNNABLE
	hello thread
	TERMINATED
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值