Java中sleep和wait方法的異同點

來源:互聯網
上載者:User

標籤:java   sleep   wait   區別   異同點   

sleep和wait的區別,面試中經常碰到的問題,鎖一我們必須得記得一清二楚:

相同點:可以讓線程處於凍結狀態(放棄cpu執行權)


不同點:1,sleep必須指定時間,wait可以指定之間,也可以不指定時間(易錯點);

2,sleep時間到,線程處於臨時阻塞和運行,wait如果沒有指定時間,必須用notify或notifyAll喚醒;

3,sleep不一定非要定義在同步中,wait必須定義在同步中;

4,若都定義在了同步中,線程執行到sleep,不會釋放鎖,線程執行到wait,會釋放鎖(重點)。


上述第四點是最重要的一點,也是最難記的一點,也是最容易記混的一點。給大家說說記住的技巧:

java 中的方法和變數的命名都是有一定規則的sleep顧名思義只是睡會兒,我的東西給你了,醒來了怎麼辦。

wait是等待的意思就是說,你等等該我了,但是你若拿著這個鎖,該我了,我又不能執行,能算該我嗎,所以該我了,你把鎖也得給我。

Java中sleep和wait方法的異同點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.