(1)同步阻塞:等待鎖的釋放
(2)等待阻塞:
1)使用Thread.sleep造成的阻塞:時間結束后自動進入RUNNABLE狀態
2)使用Thread.wait造成的阻塞:使用Thread.notify或者Thread.notifyAll喚醒
3)使用Thread.join造成的阻塞:等待上一個線程執行完后自動進入RUNNABLE狀態
4)使用Thread.suspend造成的阻塞:使用Thread.resum喚醒
5)使用LockSupport.park造成的阻塞:使用LockSupport.unpark喚醒
6)使用LockSupport.parkNanos造成的阻塞:指定時間結束后,自動喚醒
7)使用LockSupport.parkUntil造成的阻塞:到達指定的時間,自動喚醒