C# 为什么TaskFactory.StartNew会收到CancellationToken
可能重复:C# 为什么TaskFactory.StartNew会收到CancellationToken,c#,.net,task-parallel-library,task,cancellation-token,C#,.net,Task Parallel Library,Task,Cancellation Token,可能重复: 此方法接收CancellationToken: CancellationTokenSource cts = new CancellationTokenSource(4); var t = Task.Factory.StartNew(() => { // code }, cts.Token); 由于取消是协作的(实际工作代码需要观察取消令牌),将其作为参数传递给StartNew方法的目的是什么?它允许将任务本身标记为已取消,从而允许触发等待第一个任务的任何任务(即与task.
此方法接收CancellationToken:
CancellationTokenSource cts = new CancellationTokenSource(4);
var t = Task.Factory.StartNew(() => { // code }, cts.Token);
由于取消是协作的(实际工作代码需要观察取消令牌),将其作为参数传递给StartNew方法的目的是什么?它允许将任务本身标记为已取消,从而允许触发等待第一个任务的任何任务(即与task.ContinueWith()方法一起排队的任何任务)。当然,如果取消了主任务,则这些后续任务也很可能需要取消 您完全正确,正在执行的实际代码也需要遵守cancel令牌