「每天一道面試題」sleep方法和wait方法有什麼區別?

weixin_34120274發表於2018-03-26

sleep方法是Thread類的靜態方法,讓呼叫執行緒進入休眠狀態,同時將執行機會讓給其他執行緒,等到休眠時間結束後執行緒進入就緒狀態,搶佔CPU獲取執行機會。但是,如果當前執行緒擁有鎖,Thread.sleep不會讓執行緒釋放鎖。

wait方法是Object類的方法,當一個執行緒執行到wait方法時,它就進入到一個和該物件相關的等待池,同時釋放物件的鎖,使其它執行緒能夠訪問,需要通過notify、notifyAll方法來喚醒等待的執行緒。

「每天一道面試題」sleep方法和wait方法有什麼區別?

相關文章