22得票7回答
Parallel.ForEach有序执行

我正在尝试使用新的C# 4.0的Parallel.ForEach函数在对象列表上执行并行函数。这是一个非常长的维护过程。我希望它按照列表的顺序执行,这样我就可以在之前的点停止和继续执行。我该如何做到这一点? 这是一个例子。我有一个对象列表:a1到a100。这是当前的顺序: a1, a51,...

20得票3回答
在执行Parallel.ForEach期间更改parallelOptions.MaxDegreeOfParallelism是否可能?

我正在运行一个多线程循环:protected ParallelOptions parallelOptions = new ParallelOptions(); parallelOptions.MaxDegreeOfParallelism = 2; Parallel.ForEach(items...

9得票1回答
如何在并行foreach中使用await?

我花了大部分晚上尝试解决这个问题。 昨天我很幸运地接触到了Parallel.ForEach,它的工作方式与我的期望相符,除了一个细节。 我有以下代码: Parallel.ForEach(data, (d) => { try { MyMethod(d,...

24得票8回答
使用Parallel.ForEach进行调试或逐步执行

有没有一个简单的方法可以遍历 Parallel.ForEach 呢?什么是使用断点调试的最佳方式?

240得票4回答
Parallel.ForEach与Task.Run和Task.WhenAll的区别

使用 Parallel.ForEach 或 Task.Run() 来异步启动一组任务有什么区别? 版本 1:List<string> strings = new List<string> { "s1", "s2", "s...

228得票11回答
并行.ForEach中嵌套等待(await)

在一个 Metro 应用中,我需要执行多个 WCF 调用。由于需要进行大量的调用,因此我需要在并行循环中执行它们。但是问题在于,在 WCF 调用完成之前并行循环就已经退出了。 你会如何重构代码以满足预期功能?var ids = new List<string>() { "1", ...

8得票2回答
一个类型为'System.OperationCanceledException'的异常发生了。

我正在实现一个Parallel.ForEach循环来做一些工作,但是由于未处理的异常,我遇到了问题,虽然我认为我已经处理了取消。 为了试图找到问题所在,我在winform中制作了一个简单的测试设置。它有一个开始按钮,一个取消按钮和一个输出标签。 代码: public partial cl...

24得票4回答
这个 Parallel.ForEach() 的使用是否线程安全?

基本上,我正在使用这个:var data = input.AsParallel(); List<String> output = new List<String>(); Parallel.ForEach<String>(data, line => {...

27得票1回答
ThreadPool.QueueUserWorkItem和Parallel.ForEach之间的区别是什么?

以下两种方法的主要区别是什么: ThreadPool.QueueUserWorkItem Clients objClient = new Clients(); List<Clients> objClientList = Clients.GetClientList...

7得票2回答
将foreach循环改为Parallel.ForEach循环

好的,下面是基本背景。该程序连接到Outlook/Exchange并解析所有邮件消息,以查看哪些邮件已加密。我想做的一件事是使用多线程来减少扫描邮件所需的时间。 目前代码如下: foreach (Object item in folder.Items) { //Checks for enc...