wait和sleep的區別

sleep是Thread類中提供一個用於讓當前線程休眠的方法,裏面需要一個毫秒數作爲參數,當sleep執行後,當前線程會進入休眠狀態(讓出cup的時間片),當休眠時間到達後,線程會自動喚醒繼續執行,sleep不需要當前線程擁有任何對象的對象監視器(對象鎖)。
wait是來之Object類中的一個方法,可以讓一個線程進入等待狀態,並且這種等待狀態不能自動喚醒,需要其他線程通過調用該對象的notify或notifyAll來手動喚醒,wait必須要求當前線程擁有該對象的對想想監視器(對象鎖),並且wait一旦執行,該線程就會釋放在對象上的監視器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章