У меня есть такой токен отмены
static CancellationTokenSource TokenSource= new CancellationTokenSource();
У меня есть подобная блокирующая коллекция
BlockingCollection<object> items= new BlockingCollection<object>();
var item = items.Take(TokenSource.Token);
if(TokenSource.CancelPending)
return;
Когда я вызываю
TokenSource.Cancel();
Take не продолжайте как следует. Если я использую TryTake с опросом, токен показывает, что он установлен как Отмененный.