Java核心知識 多線程併發 sleep 與 wait 區別(五)


Java核心知識 多線程併發 sleep 與  wait 區別(五)

1. 對於 sleep()方法,我們首先要知道該方法是屬於 Thread 類中的。而 wait()方法,則是屬於 Object 類中的。

2. sleep()方法導致了程序暫停執行指定的時間,讓出 cpu 該其他線程,但是他的監控狀態依然 保持者,當指定的時間到了又會自動恢復運行狀態。

3. 在調用 sleep()方法的過程中,線程不會釋放對象鎖。

4. 而當調用 wait()方法的時候,線程會放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此 對象調用 notify()方法後本線程才進入對象鎖定池準備獲取對象鎖進入運行狀態。


分享到:


相關文章: