5
有没有办法从BlockingCollection删除特定项目,像这样:从BlockingCollection <>删除特定项目
IMyItem mySpecificItem = controller.getTopRequestedItem();
bool took = myBlockingCollection<IMyItem>.TryTake(out mySpecificItem);
if(took)
process(mySpecificItem);
.....
换句话说
:我想从一个BlockingCollection删除项目<>,它由一些字段(例如ID)标识,而不仅仅是下一个可用项目。
我需要实现getHashCode()还是IComparer?
没有办法通过IComparer或HashCode? –
这会有帮助吗? 'BlockingCollection <>'没有任何方法允许特定元素被拉出。 –
感谢您的澄清。 ConcurrentDictionary <>的问题是没有顺序。在我的场景中,我需要一个物品管道,能够不时从管道中间删除优先项目。剩下的时间项目应该被处理FirstInFirstOut。当我有解决方案时,我会回到这个线程。 –