日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

【转】WebApi中的C#await / async,重点是什么?

發(fā)布時間:2023/12/10 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】WebApi中的C#await / async,重点是什么? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

有人知道這樣做的目的是什么?

  • private async Task<bool> StoreAsync(TriviaAnswer answer) { ... }
  • ?
  • [ResponseType(typeof(TriviaAnswer))]
  • public async Task<IHttpActionResult> Post(TriviaAnswer answer)
  • {
  • var isCorrect = await StoreAsync(answer);
  • return Ok<bool>(isCorrect);
  • }
  • 通過檢查,它告訴它異步運行私有方法,但同步等待它結束.我的問題是,這有什么意義嗎?或者這只是一種奇特而無用的技巧?我在研究Web API / MVC / SPA的一些代碼時遇到了這個問題.

    無論如何,任何見解都會有用.

    解決方法

    盡管它的名字,await實際上并沒有像Thread.Join那樣工作. async和await是Microsoft的?coroutines實現(xiàn),使用Continuation Passing Style實現(xiàn).對工作進行重新排序,以便在任務< T>時可以繼續(xù)處理.正在完成.編譯器重新安排指令以最大限度地利用異步操作.

    This article因此解釋:

    await表達式不會阻止它正在執(zhí)行的線程.相反,它會導致編譯器將其余的異步方法注冊為等待任務的延續(xù).然后,Control返回到異步方法的調用者.當任務完成時,它會調用它的繼續(xù),異步方法的執(zhí)行從它停止的地方恢復.

    對于一些簡單的代碼示例,await并沒有多大意義,因為在您等待的同時,您無法做其他工作.

    總結

    以上是生活随笔為你收集整理的【转】WebApi中的C#await / async,重点是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。