sleep和wait的區別


它們最大本質的區別是:sleep()不釋放同步鎖,wait()釋放同步鎖.   
 
 
 
         
還有用法的上的不同是:sleep(milliseconds)可以用時間指定來使他自動醒過來,如果時間不到你只能調用interreput()來強行打斷;wait()可以用notify()直接喚起.

sleep和wait的區別還有:
1。這兩個方法來自不同的類分別是Thread和Object
2。最主要是sleep方法沒有釋放鎖,而wait方法釋放了鎖,使得其他線程可以使用同步控制塊或者方法。
3。wait,notify和notifyAll只能在同步控制方法或者同步控制塊里面使用,而sleep可以在
任何地方使用
   
   
   
           
  1. synchronized(x){
  2. x.notify()
  3. //或者wait()
  4. }


4。sleep必須捕獲異常,而wait,notify和notifyAll不需要捕獲異常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM