我在我的 .NET 4 应用程序中使用了并行数据结构,并且ConcurrentQueue在我处理它时添加了一个。
我想做类似的事情:
personqueue.AsParallel().WithDegreeOfParallelism(20).ForAll(i => ... );
当我调用数据库来保存数据时,我限制了并发线程的数量。
但是,我希望ForAll不会出队,我担心只是做
ForAll(i => {
personqueue.personqueue.TryDequeue(...);
...
});
Run Code Online (Sandbox Code Playgroud)
因为不能保证我弹出正确的一个。
那么,我如何以并行方式遍历收集和出队。
或者,使用PLINQ并行进行此处理会更好吗?