static async void TestAsyncInvokeUseAwait()
{
Console.WriteLine("A");
await DoLongJobUseTask();
//与ContinueWith的功能类似
Console.WriteLine(
"B");
}
static Task DoLongJobUseTask()
{
return Task.Run(() =>
DoLongJob());
}
static void TestAsyncInvokeUseTPL()
{
Console.WriteLine("A");
Task.Run(() =>
DoLongJob())
.ContinueWith(
(task) =>
{
Console.WriteLine("B");
}
);
}
async void func1(){
await func2();
}
Task func2(){
return Task.Run(()=>
work());
}
void TPL(){
Task.Run(()=>work()).ContinueWith((task)=>{
//执行后续})
}
转载于:https://www.cnblogs.com/SnowZhang/p/6752059.html
相关资源:详解C#中 Thread,Task,Async/Await,IAsyncResult的那些事儿