sleep會釋放cpu資源嗎 程序中的sleep起什么作用?
程序中的sleep起什么作用?sleep()方法導致了程序暫停執(zhí)行指定的時間,讓出cpu該其他線程,但是他的監(jiān)控狀態(tài)依然保持者,當指定的時間到了又會自動恢復運行狀態(tài)。在調(diào)用sleep()方法的過程中,
程序中的sleep起什么作用?
sleep()方法導致了程序暫停執(zhí)行指定的時間,讓出cpu該其他線程,但是他的監(jiān)控狀態(tài)依然保持者,當指定的時間到了又會自動恢復運行狀態(tài)。在調(diào)用sleep()方法的過程中,線程不會釋放對象鎖。而當調(diào)用wait()方法的時候,線程會放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象調(diào)用notify()方法后本線程才進入對象鎖定池準備獲取對象鎖進入運行狀態(tài)。
已經(jīng)分離的線程,線程中出現(xiàn)段錯誤,為什么會導致整個進程結(jié)束?
(1)JVM將CPU資源從當前線程切換給其他線程,使本線程讓出CPU的使用權(quán)處于中斷狀態(tài)。 (2)線程使用CPU資源期間執(zhí)行了sleep方法,使當前線程進入休眠狀態(tài)。 (3)線程使用CPU資源期間執(zhí)行了wait( )方法,使得當前線程進入等待狀態(tài)。 (4)線程使用CPU資源期間執(zhí)行某個操作進入阻塞狀態(tài),比如執(zhí)行讀/寫操作引起阻塞。