await async
class Program
{
static void Main(string[] args)
{
DisplayCurrentInfo().Wait();
}
static async Task DisplayCurrentInfo()
{
Console.WriteLine("中国");
await WaitAndApologize();
Console.WriteLine("执行任务");
}
static async Task WaitAndApologize()
{
Console.WriteLine("开始");
await Task.Delay(2000);
await Task.Run(()=>
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}");
});
Console.WriteLine("对不起久等了");
}
}
异步不会阻塞主线程执行
class Program
{
static void Main(string[] args)
{
Console.WriteLine("aa");
Async();
Console.WriteLine("bb");
Console.Read();
}
public static async void Async()
{
Console.WriteLine($"cc");
await Task.Run(() =>
{
Thread.Sleep(1500);
Console.WriteLine($"dd");
});
Console.WriteLine($"ee");
}
}