Java Thread sleep() 與 wait() 的區(qū)別

我們面試中進(jìn)程會(huì)碰到這樣的面試題,那么他們的區(qū)別到底有哪些呢,這里做一個(gè)總結(jié)。
共同點(diǎn):都能夠使線程處于一個(gè)等待的狀態(tài)
不同點(diǎn):

  • sleep()是Thread類的靜態(tài)方法,可以在任何地方調(diào)用,需要處理異常,因?yàn)樗赡軖伄惓?。休眠時(shí)間過了以后會(huì)自動(dòng)喚醒當(dāng)前線程。休眠過程中不釋放鎖資源。
  • wait()是Object的成員方法,只能在同步方法或者同步的代碼塊里面調(diào)用,不需要處理異常。調(diào)用wait()以后,需要調(diào)用notify()方法才能喚醒線程。休眠過程中釋放鎖資源。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容