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

2025-03-07 08:51:01
推荐回答(1个)
回答1:

因为ConcurrentQueue是线程安全的是Queue的替代品,由于是线程安全的,所以它不会暴露或提供Clear方法给你,所以需要使用TryDequeue来尝试安全出队,以至于不影响其它线程的操作。

static void Main(string[] args){
ConcurrentQueue cqueue = new ConcurrentQueue();
cqueue.Enqueue("a");
cqueue.Enqueue("b");

String result = "";

while (cqueue.TryDequeue(out result))
{
Console.WriteLine(result);
}

Console.WriteLine("Queue Size="+cqueue.Count);
Console.ReadKey(true);
}