Tag: cancellationtokensensource

在Task.Run中使用CancellationToken超时不起作用

好的,我的问题非常简单。 为什么这段代码不会抛出TaskCancelledException ? static void Main() { var v = Task.Run(() => { Thread.Sleep(1000); return 10; }, new CancellationTokenSource(500).Token).Result; Console.WriteLine(v); // this outputs 10 – instead of throwing error. Console.Read(); } 但是这个有效 static void Main() { var v = Task.Run(() => { Thread.Sleep(1000); return 10; }, new CancellationToken(true).Token).Result; Console.WriteLine(v); // this one throws Console.Read(); }