12得票3回答
Parallel.ForEach 迭代中的操作超时

我在我的代码中有类似这样的东西:Parallel.ForEach(myList, new ParallelOptions { MaxDegreeOfParallelism = 4 }, item => { Process(item); }); 问题在于我在Process()方法中...

12得票4回答
如何将项目添加到“并行循环安全”的字典中

我有一个Parallel.ForEach循环用于进行某些处理。但是第一步操作是如果该键不存在,则向字典中添加值。当我添加它时,会出现错误,提示该键已存在于字典中。我猜测在此线程的.Contains检查之后,但在添加操作之前,该键已被并行处理添加。除了将该行放在try-catch中以外,是否还有...

11得票3回答
Parallel.ForEach在MaxDegreeOfParallelism=1时会按顺序处理吗?

使用 MaxDegreeOfParallelism==1 的 Parallel.ForEach() 方法是否保证按顺序处理输入的可枚举对象? 如果答案是否定的,有没有方法可以强制执行此行为?

11得票1回答
System.Timers.Timer极不准确

我编写了一个程序,使用Parallel.ForEach来利用所有可用的核心。 ForEach的列表包含约1000个对象,每个对象的计算需要一些时间(大约10秒)。 在这种情况下,我设置了一个计时器,如下所示:timer = new System.Timers.Timer(); timer.El...

10得票4回答
Parallel.ForEach 丢失数据

Parallel.ForEach可以提高性能,但我发现会有数据丢失。 已尝试 - 变量results,processedData是ConcurrentBag<IwrRows> 1)Parallel.ForEach(results, () => new Concurrent...

10得票1回答
MaxDegreeOfParallelism = Environment.ProcessorCount减慢了我的CPU执行时间

我有一个程序(我从http://blogs.msdn.com/b/csharpfaq/archive/2010/06/01/parallel-programming-in-net-framework-4-getting-started.aspx获取),使用Parallel.For循环来分割任务...

9得票3回答
Task.StartNew() 与 Parallel.ForEach:多个Web请求场景

我已经阅读了SO中所有相关的问题,但是对于我的场景最佳方法有些困惑,因为需要同时发出多个web服务调用。 我有一个聚合器服务,它接收一个输入,解析并将其转换为多个Web请求,进行Web请求调用(不相关,因此可以并行调用),并汇总响应,然后将其发送回调用方。目前使用以下代码: list.Fo...

9得票1回答
如何使用Parallel.ForEach实现最大并行性和利用最大的CPU?

有一个 C# 函数 A(arg1, arg2) 需要被多次调用。为了尽快完成此任务,我正在使用并行编程。 以以下代码为例: long totalCalls = 2000000; int threads = Environment.ProcessorCount; ParallelOptio...

9得票2回答
等待在Parallel.foreach中

我有一个异步方法,将在Parallel.Foreach中使用。在异步方法中,有一个等待Task的await。 然而,在测试中,似乎没有等待行为,await Task没有完成。问题出在哪里?以下是代码。 public void method1() { Ilist<string>...

9得票3回答
多个dbcontexts在并行线程中,EntityException "当活动用户较少时重新运行您的语句"

我正在使用Parallel.ForEach在多个线程上进行工作,每次迭代都使用一个新的EF5 DbContext,并将其全部包装在TransactionScope中,如下所示: using (var transaction = new TransactionScope()) { in...