首页 新闻 搜索 专区 学院

ConcurrentQueue怎么移除里面满足条件的项

0
[已解决问题] 解决于 2017-06-23 16:57

不能重新new。。。。。。。。。。。。。

拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:50
提问于:2015-10-23 16:43
< >
分享
最佳答案
0

思路是再新建一个ConcurrentQueue临时对象,出列一个对象比对一个,满足条件的忽略,不满足条件的放进临时对象,最后交换临时对象到原对象。写完这一串操作之后,我想shi。后来我换成这个了。线程安全的集合,供参考

https://github.com/piercep/thread-safe-collections/blob/master/ThreadSafeCollections/ThreadSafeCollections/TList.cs

奖励园豆:5
hahanonym | 小虾三级 |园豆:1460 | 2015-10-23 23:25
其他回答(2)
0

队列 只能是 排列着队 操作数据。如果不能重新new的话,这无法实现。

田麦成 | 园豆:1982 (小虾三级) | 2015-10-23 18:02
0

同意一楼的说法。队列本来就只有一个原则先进先出。像你这样要求在队列中移出满足条件的项,破坏了这个先进先出的原则。除非另外新建一个队列把不满足条件的项重新加入这个新队列中。

lenfon | 园豆:255 (菜鸟二级) | 2015-10-25 11:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册