2012-10-01 246 views
7

我應該立即使用異步/等待(c#5)每當我不需要方法的結果立即(任務<>)或我必須觸發一次性方法(void)?什麼時候應該使用async/await,什麼時候不用?

我應該在所有使用C#4中的Task類並將工作推送到Backgroud線程的情況下使用它嗎?

我應該只在我使用異步.Net框架方法的情況下使用它嗎?

困惑。

我基本上尋找一個簡單的解釋,在這種情況下,我應該使用await/async,而不是。

回答

8

async/await當您有異步操作時可能會使用。許多操作自然是異步的(比如I/O);我建議所有這些人都使用async。其他操作自然是同步的(如計算);我建議爲這些使用同步方法。

如果您需要異步運行同步代碼,則可以使用Task.Runasync作爲後臺工作。我在博客上解釋爲什麼這是better than BackgroundWorker and asynchronous delegates

您還可以使用async替換其他形式的異步處理,例如IAsyncResult樣式。

應該在任何情況下你有一個異步操作使用async

相關問題