在閱讀了大量有關異步等待的知識後,我只能在GUI線程(WPF/WinForms)中找到使用它的好處。如何處理異步I/O方法
它在哪些情況下減少了WCF服務中線程的創建? 程序員是否必須在服務中的每個方法上使用async-await ,方法是選擇在Web服務中實現異步等待?在充滿異步等待的服務中製作一些非異步等待方法會降低服務的效率?怎麼樣?
最後一個問題 - 有人說,使用'await Task.Run(()=> ...)'不是「真正的異步等待」。這是什麼意思?
謝謝你, 斯塔夫。
編輯:
這兩個答案都是優秀的,但即使有關如何異步等待的作品,我建議閱讀@Stephen克利回答這裏瓢解釋: https://stackoverflow.com/a/7663734/806963
以下主題都需要理解他的回答: SynchronizationContext,SynchronizationContext.Current,TaskScheduler,TaskScheduler.Current,Threadpool。
'Task.Run'用於在線程池線程上執行cpu-bound代碼。真正的異步等待是關於IO限制的代碼。 –
這個問題可能看起來太寬泛了,但考慮到正確的答案,它不是。整個概念可以在5段中全面清楚地解釋。 –