线程的基本状态以及状态之间的关系?

在这里插入图片描述
除去起始(new)状态和结束(finished)状态,线程有三种状态,分别是:就绪(ready)、运行(runnin g)和阻塞(blocked)。其中就绪状态代表线程具备了运行的所有条件,只等待 CPU 调度(万事俱备,只欠东 风);处于运行状态的线程可能因为 CPU 调度(时间片用完了)的原因回到就绪状态,也有可能因为调用了线 程的 yield 方法回到就绪状态,此时线程不会释放它占有的资源的锁,坐等 CPU 以继续执行;运行状态的线程可 能因为 I/O 中断、线程休眠、调用了对象的 wait 方法而进入阻塞状态(有的地方也称之为等待状态);而进入阻 塞状态的线程会因为休眠结束、调用了对象的 notify 方法或 notifyAll 方法或其他线程执行结束而进入就绪状 态。注意:调用 wait 方法会让线程进入等待池中等待被唤醒, notify 方法或 notifyAll 方法会让等待锁中的线程 从等待池进入等锁池,在没有得到对象的锁之前,线程仍然无法获得 CPU 的调度和执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值