请问有人可以解释一下Task.Wait(CancellationToken)重载的用法吗?MSDN上并没有详细说明...
下面是我通常处理任务取消的方式:
var source = new CancellationTokenSource();
var task = Task.Factory.StartNew(() =>
{
while (true)
{
source.Token.ThrowIfCancellationRequested();
}
}, source.Token);
try
{
task.Wait();
}
catch (AggregateException exc)
{
exc.Flatten().Handle(e => e is OperationCanceledException);
}
那么,在什么情况下将令牌传递给Wait方法是有用的呢?