最近在做一个项目,涉及到队列并发访问的问题,最后通过.net4.0中的Concurrent得以解决。使用该引用之前,先安装.net4.0.
应用举例:
using System.Collections.Concurrent;
ConcurrentQueue<string> queue = new ConcurrentQueue<string>();//存储队列实例化
queue.Enqueue(string Item);//入队
foreach(var item in queue){
foreach(var item in queue){
//遍历队列进行相应的逻辑处理
queue.TryDequeue(out value);//移除头元素
queue.TryDequeue(out value);//移除头元素
}
注意:
ConCurrentQueue没有Clear方法,通常通过以下方法进行处理:
ConCurrentQueue没有Clear方法,通常通过以下方法进行处理:
//清空队列数据
while(queue.Count>0)
queue.TryDequeue(out clearQueue);
queue.TryDequeue(out clearQueue);