首先確定下wait和sleep的屬于的對象,wait屬于Object,sleep屬于Thread。
線程調(diào)用sleep方法后,線程讓出CPU,但是監(jiān)控狀態(tài)依然保持,也就是說,沒有讓出鎖,當(dāng)sleep時間結(jié)束后,線程會變成可運行的狀態(tài),
wait的方法調(diào)用必須在同步代碼塊中,調(diào)用wait方法后,線程讓出cpu,釋放鎖,進(jìn)入等待隊列,當(dāng)調(diào)用notify之后,線程進(jìn)入對象鎖定池。
總結(jié)一下,sleep不釋放鎖,wait釋放鎖。