sleep和wait都是使執行緒暫時停止執行的方法,但它們有很大的不同。
①. sle程式設計客棧ep是執行緒類thread 的方法,它是使當前執行緒暫時睡眠,可以放在任何位置。
而wait是object類的方法,它是使當前執行緒暫時放棄物件的使用權進行等待,必須www.cppcns.com放在同步方法或同步塊裡。
②. sleep使用的時候,執行緒並不會放棄物件的使用權即不會釋放物件鎖,所以在同步方法或同步塊中使用sleep,乙個執行緒訪問時,其他的執行緒也是無法訪問的。
而wait是會釋放物件鎖的,就是當前執行緒放棄物件的使用權程式設計客棧,讓其他的執行緒可以訪問。
③. 執行緒執行wait方法時,需程式設計客棧要另乙個執行緒呼叫notify進行喚醒。
而sleep只是暫時休眠一定時間,時間到了之後,自動恢復執行,不需另外的執行緒喚醒。
本文標題: c#中sleep和wait的區別分析
本文位址:
java中wait 和 sleep 區別
1,wait可以指定時間也可以不指定。sleep必須指定時間。2,在同步中時,對cpu的執行權和鎖的處理不同。wait 釋放執行權,釋放鎖。sleep 釋放執行權,不釋放鎖。public class test1 class mythread extends thread override publi...
Java中wait和sleep區別
super類不同 對於sleep 方法是屬於thread類,而wait 方法,則是屬於object類。是否釋放執行緒鎖 在呼叫sleep 方法的過程中,執行緒不會釋放物件鎖。而當呼叫wait 方法的時候,執行緒會放棄物件鎖,進入等待此物件的等待鎖定池,只有針對此物件呼叫notify 方法後本執行緒才...
sleep和wait的區別
關鍵字 sleep wait 1 這兩個方法來自不同的類分別是thread和object 2 最主要是sleep方法沒有釋放鎖,而wait方法釋放了鎖,使得其他執行緒可以使用同步控制塊或者方法。3 wait,notify和notifyall只能在同步控制方法或者同步控制塊裡面使用,而sleep可以在...