使用Task.WaitAll() 等待多任务执行完毕的时候发现,等待的任务还没结束,Task.WaitAll() 就先结束了,于是就写了一段测试代码进行验证。
先上代码:
static void Main(string[] args)
{
//建立两个任务
Task t1 = new Task(async () => await T1());
Task t2 = new Task(async () => await T2());
//启动任务
t1.Start();
t2.Start();
//等待任务完成
Task.WaitAll(t1, t2);
Print("WaitAll Done");
Console.ReadLine();
}
static async Task T1()
{
Print("T1 Start");
Thread.Sleep(1000);
Print("T1 await");
await Task.Delay(1000);
Print("T1 Done");
}
static async Task T2()
{
Print("T2 Start");
Thread.Sleep(1000);
Print("T2 await");
a