老师,在syn方法中的线程wait()后状态是WAITING,被唤醒后但还没有拿到cpu资源是BLOCKED,是这样么
来源:7-3 notify方法

qq_啦啦啦啦啦_5
2019-09-15
写回答
1回答
-
悟空
2019-09-15
是的,这属于6个状态的特殊情况,从Object.wait()刚被唤醒时,通常不能立刻抢到monitor锁,那就会从WAITING先进入BLOCKED状态,抢到锁后再转换到RUNNABLE状态。
官网对此也有说明:
https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.html#BLOCKED
示意图:
022020-09-20
相似问题