<分区>
由于我是在嵌套任务的上下文中理解 Task
,所以我真的不明白 - 为什么第 3 次打印在第 2 次打印之前?
尽管如此,我已经使用了 Task.WaitAll(t)
,它在 2nd 行之前打印了 3rd 行。
代码:
public static void Main()
{
Task t = new Task(
() =>
{
Thread.Sleep(2000);
Console.WriteLine("1st print...");
});
t.ContinueWith(
x =>
{
Thread.Sleep(2000);
Console.WriteLine("2nd print...");
},
TaskContinuationOptions.OnlyOnRanToCompletion);
t.Start();
Task.WaitAll(t);
Console.WriteLine("3rd print...");
Console.Read();
}
输出: