给予:
BlockingCollection<T> collCancellationTokenSource ctscoll.GetConsumingEnumerable(cts.Token)上阻塞的10个线程因此,cts.Cancel()取消了所有10个线程。
是否可以编写自定义取消令牌源,该源可以被告知只取消部分线程?所以:
cts.Cancel(5)只会取消5个被阻塞的线程。任何5个。
发布于 2014-09-03 19:24:07
不是的。您需要使用多个不同的取消令牌,让每个使用者使用他们自己的令牌,并取消一些令牌集合。
也就是说,您可以通过创建某种类型的取消令牌集合来封装这种行为,该集合具有生成新令牌的方法,而另一种方法则可以取消发出的一些令牌。
https://stackoverflow.com/questions/25652124
复制相似问题