sleep() 和 wait()的區(qū)別

相同點(diǎn)

  1. 都會(huì)將當(dāng)前線程暫停,交出CPU資源讓其它線程運(yùn)行。
  2. 都是native方法。
  3. 在等待期間被中斷,都會(huì)拋出InterruptedException。

不同點(diǎn)

  1. 所屬類不同
    • sleep() 屬于Thread類。
    • wait() 屬于Object類。
  2. 對(duì)鎖保持不同
    • sleep() 保持鎖。
    • wait() 釋放鎖。
  3. 喚醒方法不同
    • sleep() 到達(dá)指定時(shí)間自動(dòng)喚醒。
    • wait() 需要notify()或notifyAll()喚醒。
  4. 使用位置不同
    • sleep() 用于任何位置。
    • wait() 用于同步代碼塊。
  5. 調(diào)用后進(jìn)入狀態(tài)不同
    • sleep() 進(jìn)入TIMED-WAITING
    • wait() 進(jìn)入 WAITING
最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 在我們?nèi)粘>帉?xiě)java代碼的時(shí)候,總會(huì)遇到需要讓程序暫停一段時(shí)間的需求。這個(gè)時(shí)候,我們最常使用的方法是Thread...
    華華lucky閱讀 664評(píng)論 0 3
  • sleep(休眠)和wait(等待)是java中多線程常用的兩個(gè)方法, 本篇來(lái)講述一下二者的區(qū)別. 1 使用限制...
    馬小Sure閱讀 363評(píng)論 0 1
  • 問(wèn):簡(jiǎn)單說(shuō)說(shuō) Java 中 sleep() 與 wait() 方法的區(qū)別? 答:sleep() 方法使當(dāng)前線程進(jìn)入...
    Little丶Jerry閱讀 657評(píng)論 0 0
  • 1、這兩個(gè)方法來(lái)自不同的類分別是,sleep來(lái)自Thread類,和wait來(lái)自O(shè)bject類。 sleep是Thr...
    willcoder閱讀 24,310評(píng)論 2 12
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無(wú)數(shù)的可能。 ...
    yichen大刀閱讀 7,835評(píng)論 0 4

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