阻塞状态和等待状态的区别

图中Entry Set中的线程处于阻塞状态,也就是线程尚未拿到锁。Wait Set中的线程处于等待状态,也就是拿到锁后暂时释放锁(等待条件成熟会再次获取锁)。线程

 

线程和其余线程抢锁没抢到,就处于阻塞状态了;(此时线程还没进同步代码块)3d

线程抢到了锁进了同步代码块,(因为某种业务需求)某些条件下Object.wait()了,就处于了等待状态。(此时线程已经进入了同步代码块)blog

相关文章
相关标签/搜索