如果一個方法被聲明爲'async',那麼當我們調用該方法時,我們可以使用await或不使用它。我想知道何時使用它,以及使用它的效果是什麼。何時使用等待關鍵字
6
A
回答
2
async關鍵字只是編譯器的一個指示器,表明該方法可能包含await語句。
這裏有一個有趣的帖子由埃裏克利珀解釋要求「異步」的設計選擇
意味着我們可以消除一次全部向後兼容性的問題;任何包含await表達式的方法都必須是「新建」代碼,而不是「舊工作」代碼,因爲「舊工作」代碼從未有過異步修飾符。
http://blogs.msdn.com/b/ericlippert/archive/2010/11/11/whither-async.aspx
1
所標記的異步方法通常使用等待指定懸掛點。 await運算符告訴編譯器,異步方法不能超過該點,直到等待的異步過程完成。同時,控制權返回給異步方法的調用者。
換句話說如果你正在做asyncronius編程,並希望simultaniusly運行某些線程任務,你會想要依靠異步和等待
更詳細的解釋在這裏
http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx
相關問題
- 1. 飛鏢等待關鍵字
- 2. 如何使用異步和等待關鍵字異步呼叫
- 3. 異步等待關鍵字錯誤
- 4. 在模擬等待時關閉鍵盤
- 5. 使用關鍵字等待模仿採用同步編程
- 6. JavaScript中的異步等待關鍵字「等待」僅適用於承諾嗎?
- 7. Async是否等待關鍵字等同於ContinueWith lambda?
- 8. 如何使用異步和等待關鍵字進行遞歸異步?
- 9. 使用語句和等待關鍵字在c#中很好地播放使用#
- 10. 在哪裏以及如何放置等待關鍵字
- 11. 等待熱鍵?
- 12. 等待關鍵字在Redux動作中不起作用
- 13. 等待裏面的foreach關鍵詞,
- 14. 等待Java按鍵
- 15. getch()等待Enter鍵?
- 16. Java - 何時使用'this'關鍵字
- 17. Nodejs和Postgres'pg'包等待關鍵字無法識別
- 18. 新的python異步和等待關鍵字
- 19. Roslyn可以編譯等待關鍵字嗎?
- 20. 可以resharper跳過異步/等待關鍵字?
- 21. 怪異編譯器行爲等待關鍵字
- 22. ASP.Net MVC4測試版 - 不等待HttpClient中的關鍵字支持?
- 23. 等待功能,關閉使用window.onbeforeunload
- 24. 關閉,並等待使用Win32/MFC
- 25. 如何在等待連接時關閉服務器套接字?
- 26. 如何在保持執行順序的同時減少在等待異步中使用await關鍵字
- 27. 即使在等待調用函數時,setTimeout也不會等待
- 28. 超時使用Android上的自定義鍵盤等待IInputContextCallback
- 29. 如何使用關鍵字
- 30. 等關鍵字與LINQ
你接近它:只有當你需要使用'await'時才應該使用'async'。當需要異步等待某些操作時,可以使用'await'。 –