我已声明ConcurrentQueue
并将在while循环中将所有数据点排入外部源。当队列大小超过一定数量时,有没有办法删除第一个元素,比如100?
谢谢!
答案 0 :(得分:0)
您可能想要的不是队列而是循环/环形缓冲区。
我不知道内置的.NET / C#实现,但基本的想法是拥有一个固定大小的存储,其中包含用于添加和删除元素的单独索引和信号量。
使用Concurrent Collections,你可以做的最好的是BlockingCollection,它等待可用空间或可用元素,阻止读者或作者。