public void test2()
{
//在出现await的地方,异步才开始发生
DemoAsync2();
Console.WriteLine("同步代码");
}
async Task DemoAsync2()
{
//感觉:await标识异步代码的开始
//await关键字是函数开始变成异步的地方,它像是一个一元操作符
//执行的过程:
//如果await发现awaitable尚未完成,那么它就会以异步方式运行。它让awaitable去运行函数剩余部分直到结束,然后从异步函数中返回。
//接下来,当awaitable结束之后,它会执行异步函数的剩余部分。
Console.WriteLine("已经睡了3秒 前");
//await标识异步代码的开始
await Task.Run(() => {
Thread.Sleep(3000);
Console.WriteLine("已经睡了3秒 了");
});
Console.WriteLine("已经睡了3秒 后");
Console.WriteLine("又睡了3秒 前");
Thread.Sleep(3000);
Console.WriteLine("又睡了3秒 后");
}