开发者

Iterating ConcurrentQueue<T>

开发者 https://www.devze.com 2023-01-20 14:21 出处:网络
Is this a safe way of iterating ConcurrentQueu开发者_开发问答e<T>? while (cq.GetEnumerator().MoveNext())

Is this a safe way of iterating ConcurrentQueu开发者_开发问答e<T>?

while (cq.GetEnumerator().MoveNext())
{
    IIndexTask task;
    if (cq.TryDequeue(out task))
        task.Execute(service);
}


Just do this instead...

IIndexTask task;
while (cq.TryDequeue(out task))
{
    task.Execute(service);
}
0

精彩评论

暂无评论...
验证码 换一张
取 消