CancellationTokenSource vs. volatile boolean

时间:2015-05-04 07:41:01

标签: c# task volatile cancellationtokensource

CancellationTokenSource布尔字段上使用volatile来表示Task完成信号是否有任何好处?

1 个答案:

答案 0 :(得分:21)

当然是的。有许多。我列举的很少。

  • gcc支持回调。您可以在要求取消时收到通知。
  • table_for PaperTrail::Version.order('id desc').where("item_type = ?", "user").limit(5) do //some code end 支持CancellationToken,您可以无限期地等待或暂停。
  • 您可以使用CancellationToken方法安排取消WaitHandle
  • 您可以将CancellationToken链接到另一个,以便在取消其他人时可以将其视为已取消。
  • 如果你的意思是CancellationTokenSource.CancelAfter CancellationToken,那么一个易变的布尔值无法将任务的状态转换为已取消但Task可以。