今天碰到这个。谁能解释为什么这会引发 TaskCancelledException ?
Task[] tasks = new Task[4];
for (int i = 0; i < 4; i++)
{
Task t = Task.Run(() => { }).ContinueWith((task) => { }, TaskContinuationOptions.OnlyOnFaulted);
tasks[i] = t;
}
Task.WaitAll(tasks);
如果我改为指定 NotOnFaulted - 它可以工作。