UWInfo Blog
發表新文章
[Join] | [忘記密碼] | [Login]
搜尋

搜尋意見
文章分類-梨子
[所有文章分類]
  • ASP.NET (1)
  • ASP.NET2.0 (0)
  • ASP.NET4.0 (0)
  • JavaScript (1)
  • jQuery (0)
  • FireFox (0)
  • UW系統設定 (0)
  • SQL (0)
  • SQL 2008 (0)
  • mirror (0)
  • SVN (0)
  • IE (0)
  • IIS (0)
  • IIS6 (0)
  • 閒聊 (1)
  • W3C (0)
  • 作業系統 (1)
  • C# (7)
  • CSS (0)
  • FileServer (0)
  • HTML 5 (0)
  • CKEditor (0)
  • UW.dll (0)
  • Visual Studio (3)
  • Browser (0)
  • SEO (0)
  • Google Apps (0)
  • 網站輔助系統 (0)
  • DNS (0)
  • SMTP (0)
  • 網管 (0)
  • 社群API (0)
  • SSL (0)
  • App_Inventor (0)
  • URLRewrite (0)
  • 開發工具 (0)
  • JSON (0)
  • Excel2007 (0)
  • 試題 (0)
  • LINQ (0)
  • bootstrap (0)
  • Vue (0)
  • IIS7 (0)
  • foodpanda (0)
  • 編碼 (0)
  • 資安 (0)
  • Sourcetree (0)
  • MAUI (0)
  • CMD (0)
  • my sql (0)
所有文章分類
[梨子的分類]
  • ASP.NET (48)
  • ASP.NET2.0 (15)
  • ASP.NET4.0 (34)
  • JavaScript (49)
  • jQuery (26)
  • FireFox (4)
  • UW系統設定 (3)
  • SQL (39)
  • SQL 2008 (25)
  • mirror (4)
  • SVN (4)
  • IE (9)
  • IIS (20)
  • IIS6 (1)
  • 閒聊 (7)
  • W3C (6)
  • 作業系統 (9)
  • C# (24)
  • CSS (12)
  • FileServer (1)
  • HTML 5 (11)
  • CKEditor (3)
  • UW.dll (13)
  • Visual Studio (16)
  • Browser (8)
  • SEO (1)
  • Google Apps (3)
  • 網站輔助系統 (4)
  • DNS (5)
  • SMTP (4)
  • 網管 (11)
  • 社群API (3)
  • SSL (4)
  • App_Inventor (1)
  • URLRewrite (2)
  • 開發工具 (6)
  • JSON (1)
  • Excel2007 (1)
  • 試題 (3)
  • LINQ (1)
  • bootstrap (0)
  • Vue (3)
  • IIS7 (3)
  • foodpanda (2)
  • 編碼 (2)
  • 資安 (3)
  • Sourcetree (1)
  • MAUI (1)
  • CMD (1)
  • my sql (1)
最新回應
標籤
  • 1
  • inline
  • group by
  • groupby
  • nsftw
  • bacostreet
  • 60
  • -5783
  • vb.net
  • ad
  • if21211211
  • @@Lkznu
  • 908
  • sp_scan03N
  • 8
  • mod
  • bootstrap
  • 1222121121
  • ? ORDER BY
  • outerhtml
  • 圖片
  • unicode
  • 662
  • GmnMRV2s
  • -2947
  • q8VQO2HG
  • iis6
  • SqlDepend
  • iis7
  • unt2121121
  • -6532
  • 縮圖
  • -6180
  • EYRuPBqg
  • DNS
  • lock212112
  • SVN
  • i1wkRTnK
  • SVG
  • SSl
  • -2490
  • Contains
  • wget
  • div
  • validation
  • 26
  • 17
  • -8768
  • -7902
  • ajaxupload
使用SemaphoreSlim來對非同步情況下使用Lock
由於在使用Await時,系統的Thread並不保證會與該function使用同一個Thread。
因此使用lock將單一Thread鎖住會導致出現 'Cannot await in the body of a lock statement'的錯誤

將Lock物件改成使用SemaphoreSlim,於function起始與結束加入WaitAsync與Release即可達到Lock的效果。

SemaphoreSlim完整介紹 : 用 SemaphoreSlim 來做 async/await 的鎖定
使用如下圖↓

 
 

梨子, 2023/3/23 下午 03:00:41
文章分類:C#
標籤:Async,非同步,lock
Reiko 已閱讀.
意見
No Data.
Comment:
*Nickname:
E-mail:
Blog URL:
  • *意見內容
  • 預覽
#Nickname#
2023/3/23 下午 03:00:41
#CommentContent#
*請輸入驗證碼: 看不懂,換張圖
 
~ Uwinfo ~