了解以下async-await调用之间的区别

Har*_*rsh 3 c# threadpool async-await

这些调用会有类似的行为吗?因为它们的行为与async-await运行的方式相同 - 可以或不可以在相同的原始线程上下文中运行吗?或者第一个确保执行发生在不同的线程上下文中?

第一种方式 -

Task task = SomeAsyncTask();
await task();
Run Code Online (Sandbox Code Playgroud)

第二种方式 -

await SomeAsyncTask();
Run Code Online (Sandbox Code Playgroud)

Ese*_*ser 6

如果Task task = SomeAsyncTask();和之间有代码await task();,您的任务将开始执行异步代码,并且您当前的线程将同时执行该代码.

否则,他们是平等的..

Task task = SomeAsyncTask();
//Codes executed on current thread while SomeAsyncTask is running
await task();
Run Code Online (Sandbox Code Playgroud)