C#中sleep和wait的區(qū)別分析
本文較為詳細的分析了C#中sleep和wait的區(qū)別。分享給大家供大家參考。具體分析如下:
sleep和wait都是使線程暫時停止執(zhí)行的方法,但它們有很大的不同。
①. sleep是線程類Thread 的方法,它是使當前線程暫時睡眠,可以放在任何位置。
而wait是Object類的方法,它是使當前線程暫時放棄對象的使用權(quán)進行等待,必須放在同步方法或同步塊里。
②. Sleep使用的時候,線程并不會放棄對象的使用權(quán),即不會釋放對象鎖,所以在同步方法或同步塊中使用sleep,一個線程訪問時,其他的線程也是無法訪問的。
而wait是會釋放對象鎖的,就是當前線程放棄對象的使用權(quán),讓其他的線程可以訪問。
③. 線程執(zhí)行wait方法時,需要另一個線程調(diào)用notify進行喚醒。
而sleep只是暫時休眠一定時間,時間到了之后,自動恢復運行,不需另外的線程喚醒。
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
c#異步讀取數(shù)據(jù)庫與異步更新ui的代碼實現(xiàn)
這篇文章主要介紹了c#從數(shù)據(jù)庫里取得數(shù)據(jù)并異步更新ui的方法,大家參考使用吧2013-12-12
Datagridview使用技巧(9)Datagridview的右鍵菜單
這篇文章主要為大家詳細介紹了Datagridview使用技巧,Datagridview的右鍵菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
WPF/Silverlight實現(xiàn)圖片局部放大的方法分析
這篇文章主要介紹了WPF/Silverlight實現(xiàn)圖片局部放大的方法,結(jié)合實例形式分析了WPF/Silverlight針對圖片屬性操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-03-03

