第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

導(dǎo)致死鎖的異步/等待示例

導(dǎo)致死鎖的異步/等待示例

qq_笑_17 2019-06-06 15:27:04
導(dǎo)致死鎖的異步/等待示例我遇到了一些使用c#進(jìn)行異步編程的最佳實(shí)踐。async/await關(guān)鍵詞(我是c#5.0的新手)。其中一項(xiàng)建議如下:穩(wěn)定性:了解同步上下文..一些同步上下文是不可重入和單線程的.這意味著在給定的時間內(nèi)只能在上下文中執(zhí)行一個工作單元。這方面的一個例子是Windows UI線程或ASP.NET請求上下文。在這些單線程同步上下文中,您自己很容易陷入死鎖。如果從單線程上下文派生任務(wù),則在上下文中等待該任務(wù),等待代碼可能會阻塞后臺任務(wù)。public ActionResult ActionAsync(){     // DEADLOCK: this blocks on the async task     var data = GetDataAsync().Result;     return View(data);}private async Task<string> GetDataAsync(){     // a very simple async method     var result = await MyWebService.GetDataAsync();     return result.ToString();}如果我試圖親自剖析它,主線程就會生成一個新線程。MyWebService.GetDataAsync();,但是由于主線程在那里等待,所以它將等待GetDataAsync().Result..同時,說數(shù)據(jù)已經(jīng)準(zhǔn)備好了。為什么主線程不繼續(xù)它的延續(xù)邏輯并返回一個字符串GetDataAsync() ?請有人解釋一下,為什么在上面的例子中會出現(xiàn)死鎖?我完全不知道問題出在哪里.
查看完整描述

3 回答

  • 3 回答
  • 0 關(guān)注
  • 632 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號