class Program
{
public static async Task Foo(int num)
{
Console.WriteLine("进入 Thread {0} - Start {1}", Thread.CurrentThread.ManagedThreadId, num);
await Task.Run(() =>
{
Thread.Sleep(10000);
});
Console.WriteLine("结束 Thread {0} - End {1}", Thread.CurrentThread.ManagedThreadId, num);
}
public static List<Task> TaskList = new List<Task>();
static void Main(string[] args)
{
for (int i = 0; i < 3; i++)
{
int idx = i;
TaskList.Add(Foo(idx));
}
Task.WaitAll(TaskList.ToArray());
Console.WriteLine("Press Enter to exit...");
Console.ReadLine();
}
}
等待所有线程处理完成。
输出结果: