CancellationTokenSource 与 volatile 布尔值
CancellationTokenSource vs. volatile boolean
使用 CancellationTokenSource over a volatile 布尔字段来指示 Task
完成有什么好处吗?
当然可以。有许多。我会列出几个。
CancellationToken
支持回调。当请求取消时,您会收到通知。
CancellationToken
支持 WaitHandle
,您可以无限期地等待或超时。
- 您可以使用
CancellationTokenSource.CancelAfter
方法安排取消 CancellationToken
。
- 您可以 link 您的
CancellationToken
到另一个,这样当一个被取消时,另一个可以被视为被取消。
Task
如果你的意思是 System.Threading.Tasks.Task
可变布尔值不能将任务的状态转换为已取消但 CancellationToken
可以。
使用 CancellationTokenSource over a volatile 布尔字段来指示 Task
完成有什么好处吗?
当然可以。有许多。我会列出几个。
CancellationToken
支持回调。当请求取消时,您会收到通知。CancellationToken
支持WaitHandle
,您可以无限期地等待或超时。- 您可以使用
CancellationTokenSource.CancelAfter
方法安排取消CancellationToken
。 - 您可以 link 您的
CancellationToken
到另一个,这样当一个被取消时,另一个可以被视为被取消。 Task
如果你的意思是System.Threading.Tasks.Task
可变布尔值不能将任务的状态转换为已取消但CancellationToken
可以。