[英]Task async c# programming
我正在使用 Visual Studio 編寫 C# 代碼。 我在異步任務方法中等待了一個任務返回函數,如下所示:
async Task AwaitForSomeTask()
{
await DoSomething();
}
我編寫了DoSomething()
方法的兩種可能實現(如下所示)。 這兩種實現有什么區別? 每一種的優點和/或缺點是什么?
Task DoSomething()
{
return Task.Run( () => { // Some code } );
}
async Task DoSomething()
{
// Some code
}
提前謝謝你!
async
實際上意味着您將在方法中使用await
。 如果您不打算這樣做,那么您可以只返回 Task 而沒有async
關鍵字。
在任何情況下,您都可以在調用方法上等待。
但是在第二種情況下你會做什么還不清楚,所以很難正確回答。
選項 1 用於后台 CPU 密集型工作。
選項 2 用於異步工作,即涉及await
其他Task
返回方法。
async
關鍵字將使您能夠在代碼中使用await
關鍵字來await
其他任務(請參閱async/await )
Task.Run(...)
將安排您的代碼由 ThreadPool 中的線程執行(請參閱Task.Run 方法)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.