26

volatile布尔字段上使用CancellationTokenSource来指示 a完成有什么好处吗?Task

4

1 回答 1

31

当然是的。有许多。我会列出几个。

  • CancellationToken支持回调。当您要求取消时,您会收到通知。
  • CancellationTokenWaitHandle您可以无限期等待或超时的支持。
  • 您可以安排取消CancellationToken使用CancellationTokenSource.CancelAfter方法。
  • 您可以将您的链接CancellationToken到另一个,这样当一个被取消时,另一个可以被视为已取消。
  • Task如果您的意思System.Threading.Tasks.Task是 volatile 布尔值无法将任务的状态转换为已取消,但可以CancellationToken
于 2015-05-04T07:44:44.687 回答