【发布时间】:2015-09-01 17:25:31
【问题描述】:
我启动一个任务,然后启动其他任务等等。鉴于该树,如果任何任务失败,则整个操作的结果将毫无用处。我正在考虑使用取消令牌。令我惊讶的是,令牌没有“CancelThisToken()”方法...
我只有一个CancellationToken,如何取消它?
【问题讨论】:
-
您正在寻找 CancellationTokenSource msdn.microsoft.com/en-us/library/…
-
@CoderDennis 我不明白如何获得仅给定令牌的令牌源...
-
如果您没有
CancellationTokenSource,则无法取消它。令牌是所有线程共享的对象,该对象由CancellationTokenSource.Cancel()方法设置。一旦这样做,CancellationToken.IsCancellationRequested将是真的。在那之前,它永远都是假的。 (不能直接设置。)如果你没有CancellationTokenSource,那么没有什么可以抛出取消。你需要CancellationTokenSource来取消这样的线程。
标签: c# task-parallel-library cancellationtokensource