【转】1.C Task.CompletedTask和Task.Result小记
生活随笔
收集整理的這篇文章主要介紹了
【转】1.C Task.CompletedTask和Task.Result小记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在任何返回Task的方法中,如果可以在不進行異步的情況下計算結果,則最好避免使用Task.Run。例如,一個簡短的計算函數,或者測試中返回了一個預先計算過的結果,則無需使用Task.Run。
?
例如,定義了一個返回Task的接口方法,但是在實現中,并沒有特別耗時的代碼。
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
對于上述接口實現中的?Do方法,我更愿意使用Task.CompletedTask。
?
- ?
- ?
- ?
- ?
- ?
?
我們看一下CompletedTask的定義
- ?
- ?
- ?
如果返回Task <T>怎么辦?在這種情況下,如果您已經有了答案,請使用Task.FromResult包裝答案。
?
- ?
- ?
- ?
- ?
- ?
看一下FromResult的定義
- ?
- ?
- ?
- ?
- ?
通過上述的改變,即實現了接口的實現,也減少了Task.Run調用的系統開銷。
總結
以上是生活随笔為你收集整理的【转】1.C Task.CompletedTask和Task.Result小记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】WebApi 身份认证解决方案:B
- 下一篇: 民生白条联名卡可以取现吗?手续费是多少?