【转】WebApi中的C#await / async,重点是什么?
生活随笔
收集整理的這篇文章主要介紹了
【转】WebApi中的C#await / async,重点是什么?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
有人知道這樣做的目的是什么?
通過檢查,它告訴它異步運行私有方法,但同步等待它結束.我的問題是,這有什么意義嗎?或者這只是一種奇特而無用的技巧?我在研究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,重点是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯下架QQ影音所有版本:曾被暴风公司排
- 下一篇: 首颗AMD锐龙3 7320U处理器曝光: