【求助】如何重置并发队列ConcurrentQueue<>

weiyu523 2014-01-24 04:40:49
因为需要多个线程同时对一个队列进行读取操作,所以选择了相对安全的并发队列ConcurrentQueue<>
网上资料说ConcurrentQueue有Reset方法,但是MSDN上的帮助显示并没有这个方法可以调用
请问ConcurrentQueue如何进行清空数据和重置?
...全文
2025 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wg5945 2014-01-24
  • 打赏
  • 举报
回复
引用 4 楼 weiyu523 的回复:
[quote=引用 2 楼 wg5945 的回复:] 帮你查了下~~ http://social.msdn.microsoft.com/Forums/en-US/accf4254-ee81-4059-9251-619bc6bbeadf/clear-a-concurrentqueue?forum=rx
谢谢,你发来的方法我看了,就是写一个扩展方法,然后把数据取出来什么也不做。 这样做解决了清空的问题,但是还存在另外一个问题 就是内容整理问题 因为随着数据量的变化,队列占用的内存在增加 所以重置的时候如果能重置下内容会更好[/quote] 那个帖子写了两种方法,第一个是new一个新的ConcurrentQueue<T>来代替老的,第二个差不多就是下面那个 其实那玩意我根本没用过,所以你懂得~~
weiyu523 2014-01-24
  • 打赏
  • 举报
回复
引用 3 楼 wyd1520 的回复:
ConcurrentQueue<XXX> xx=new ConcurrentQueue<XXX>() xxx.Clear(); 不要用Reset呀。
ConcurrentQueue根本没有CLEAR方法。。。。
weiyu523 2014-01-24
  • 打赏
  • 举报
回复
引用 2 楼 wg5945 的回复:
帮你查了下~~ http://social.msdn.microsoft.com/Forums/en-US/accf4254-ee81-4059-9251-619bc6bbeadf/clear-a-concurrentqueue?forum=rx
谢谢,你发来的方法我看了,就是写一个扩展方法,然后把数据取出来什么也不做。 这样做解决了清空的问题,但是还存在另外一个问题 就是内容整理问题 因为随着数据量的变化,队列占用的内存在增加 所以重置的时候如果能重置下内容会更好
本拉灯 2014-01-24
  • 打赏
  • 举报
回复
ConcurrentQueue<XXX> xx=new ConcurrentQueue<XXX>() xxx.Clear(); 不要用Reset呀。
weiyu523 2014-01-24
  • 打赏
  • 举报
回复
程序员大哥们都放假了吗?求助啊!!~

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧