黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java中wait和sleep的區別

Java中wait和sleep的區別

更新時間:2022-09-22 10:13:27 來源:動力節點 瀏覽1317次

了解Java 中 sleep() 和 wait() 方法之間的區別。了解何時使用哪種方法以及它們在Java 并發中帶來的影響。

1. Java sleep() 和 wait() – 討論

sleep()是一種用于暫停進程幾秒鐘或我們想要的時間的方法。但是在wait()notify()方法的情況下,線程進入等待狀態并且在我們調用or之前它不會自動返回notifyAll()。

主要區別在于,在等待時釋放鎖或wait()監視器sleep()而不釋放鎖或監視器。wait()用于線程間通信,而sleep()通常用于引入執行暫停。

Thread.sleep()將當前線程發送到“不可運行”狀態一段時間。線程保留它已獲取的監視器——即,如果線程當前位于synchronized塊或方法中,則沒有其他線程可以進入該塊或方法。如果另一個線程調用t.interrupt(). 它會喚醒睡眠線程。

Whilesleep()是一種static方法,這意味著它始終會影響當前線程(正在執行 sleep 方法的線程)。一個常見的錯誤是調用t.sleep()where tis a different thread;即使這樣,睡眠的也是當前線程,而不是t線程。

2. Java sleep() 和 wait() – 示例

睡眠()示例
synchronized(LOCK) {   
    Thread.sleep(1000); // LOCK is held
}
等待()示例
synchronized(LOCK) 
{   
    LOCK.wait(); // LOCK is not held
}

3. Java sleep() vs wait() – 總結

讓我們對以上所有要點進行簡單的分類以記住。

(1)調用的方法

wait()– 調用一個對象;當前線程必須在鎖對象上同步。

sleep()– 調用線程;總是當前正在執行的線程。

(2)同步的

wait()– 當同步多個線程一個一個訪問同一個對象時。

sleep()– 當同步多個線程等待休眠線程的休眠時。

(3)鎖定持續時間

wait()– 釋放鎖以使其他對象有機會執行。

sleep()– 如果指定超時或有人中斷,至少保持鎖定 t 次。

(4)喚醒狀態

wait()– 直到從對象調用 notify()、notifyAll()

sleep()– 直到至少時間到期或調用中斷()。

(5)用法

sleep()– 用于時間同步

wait()– 用于多線程同步。

以上就是關于“Java中wait和sleep的區別”介紹,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下本站的Java多線程編程,里面還有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 偷拍第一页 | 欧美日韩中文字幕 | 久久精品国产免费中文 | 成人在线91 | 日韩视频亚洲 | 乱系列中文字幕在线视频 | 婷婷97狠狠的狠狠的爱 | 成人国产精品久久久免费 | 4388x成人网| 欧美日韩在线播放 | 久草手机在线观看视频 | 色片免费 | 人成午夜性刺激免费 | 黄色网 在线播放 | 免费a黄色 | 中文字幕亚洲视频 | 日批免费看 | 亚洲区欧美区 | 亚洲视频中文字幕 | 热热涩热热狠狠色香蕉综合 | a级特黄一级毛片七仙女思春 | 亚洲日本中文字幕永久 | 在线看日韩 | 五月综合激情视频在线观看 | 国产盗摄一区二区欧美精品 | 香港成人网 | 成人18视频 | 欧美日韩中文字幕在线观看 | 青草福利视频 | 天天色天天综合网 | 午夜a视频 | 午夜影院啪啪 | 欧美亚洲国产精品久久久久 | 成人精品一区二区三区校园激情 | 2015小明看日韩成人免费视频 | 黄色成人免费观看 | 视频一区二区三区在线观看 | 欧美综合色 | 海天翼精品一区二区三区 | 一级成人生活片免费看 | 国产91精品一区 |