线程的6种状态

线程有六种状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED。NEW表示线程未启动,RUNNABLE包括运行和就绪状态,BLOCKED是等待锁,WAITING和TIMED_WAITING是等待唤醒或超时,而TERMINATED是线程结束状态。理解这些状态对于多线程编程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接:线程的6种状态 – 编程屋

线程中的6中状态

1 初始状态(NEW):线程未开始的状态

线程刚刚创建出来,还没有调用start方法,线程就进入了初始状态

2 运行时状态(RUNNABLE)

包括了线程状态中的Running和Ready,也就是说处于此状态的线程可能是正在运行,也可能是就绪状态,正在等待系统资源,等待CPU为它分配时间片

3 阻塞状态(BLOCKED)

阻塞状态就是说线程阻塞在进入synchronized关键字修饰的方法或代码块(获取锁)时的状态

4 等待状态(WAITING)

处于这种状态的线程不会被CPU分配执行时间,他们要等待的显示被唤醒,否则会处于无限期的等待状态

5超时等待(TIMED_WAITING):

处于这种状态的线程不会被分配CPU执行时间,无需无限期的等待被其他线程显示的唤醒,比如用sleep方法传入一个要睡眠的时间,时间到了以后线程自己会醒

6终止状态(TERMINATED):

当线程的run()方法完成时,或者主线程的run()方法完成时,我们就认为他终止了。线程一旦终止了就不能复生。

以上只是部分内容,为了维护方便,本文已迁移到新地址:线程的6种状态 – 编程屋

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值