在尝试添加新项目之前,检查项目是否存在于"blockingcollection"中的最佳方法是什么?基本上我不希望将重复项添加到BlockingCollection中.
假设我们有一个生产者-消费者模式,其中包含一个生产任务和 3 个消费者任务,如下所示:
Task[] Consumer = new Task[10];
for (int i = 0; i < 3; i++)
{
Consumer[i] = Task.Run(() => DoWork(CancellationToken ct));
}
Run Code Online (Sandbox Code Playgroud)
问题是我怎么能只取消任务消费者[2]?当发送取消令牌时,所有消费者都会停止!如果需要,我希望能够取消单个消费者。
非常感谢