我有一个关于异步编程的问题:
带任务的异步代码(不带异步/等待)和带异步/等待的异步代码有什么区别?
在C#中,我们可以使用Task来编写异步代码或方法,也可以使用关键字。
带任务的异步代码(无异步/等待)
static Task DoWorkAsync()
{
var work = Task.Run(() => { Thread.Sleep(5000); });
var workcompleted = work.ContinueWith((x) => { Console.WriteLine("Work Completed!!!"); });
return work;
}
Run Code Online (Sandbox Code Playgroud)
带有 Async/Await 的异步代码
static async Task DoWorkAsync()
{
await Task.Run(() => { Thread.Sleep(10000); });
Console.WriteLine("Work Completed");
}
Run Code Online (Sandbox Code Playgroud)
如果能回答我的问题,我真的很感激。