阻塞状态与等待状态有什么不同

阻塞状态与等待状态的区别:
实际上两者不用刻意区分两者,因为两者都会暂停线程的执行 。
两者的区别是:进入等待状态是线程主动的,而进入阻塞状态是被动的 。更进一步的说,进入阻塞状态是在同步,而进入等待状态是在同步代码之内 。
两者的共同点是:
都暂时停止线程的执行,线程本身不会占用CPU时间片 。
【阻塞状态与等待状态有什么不同】区别是调用了sleep方法的线程直接受CPU调度,而wait则是等待另外的java线程在持有同一个对象锁的同步块,方法中进行notify调用 。

    推荐阅读