如果我在CancellationToken.Register
上附加了回调,那么在取消CancellationToken
时,该回调的执行是否同步处理(因此阻塞)?还是异步处理?
答案 0 :(得分:2)
取消回调始终在称为CancellationTokenSource.Cancel
的线程中同步执行。如果您无力阻止,则需要在单独的线程中调用Cancel
。
如果这让您感到困扰,我打开了一个问题以提供异步取消:https://github.com/dotnet/corefx/issues/23716
到目前为止,它并没有获得太多的关注。