问题标签 [parallel.foreach]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
73505 浏览

c# - Parallel.ForEach() 与 foreach(IEnumerable.AsParallel())

Erg,我正在尝试使用 Reflector 在 BCL 中找到这两种方法,但找不到它们。这两个片段有什么区别?

A:

乙:

使用其中一种会有不同的后果吗?(假设我在两个示例的括号中所做的任何事情都是线程安全的。)

0 投票
2 回答
1305 浏览

c# - Parallel.ForEach 中的错误 - 对象引用未设置为对象的实例

我有一个无法调试的奇怪问题。这是一个解析信息的委托:

委托本身被调用两次,如下所示:

一切似乎都运行正常。特别是,Parallel.ForEach委托的部分运行没有任何错误。但是随后,代码在该行中断Ctx.SaveChanges (),并显示消息

你调用的对象是空的。

但是当我将鼠标悬停在Ctx(处于这种破碎状态)时,Ctx不会显示为null.

有人可以告诉我发生了什么吗?

0 投票
5 回答
25465 浏览

c# - Parallel.ForEach 比 ForEach 慢

这是代码:

问题是,Parallel.ForEach大约foreach需要 400 毫秒,而常规大约需要 40 毫秒。我到底做错了什么,为什么这不能像我预期的那样工作?

0 投票
1 回答
7262 浏览

c# - 带有 BlockingCollection.GetConsumableEnumerable 的 Parallel.ForEach 循环

为什么Parallel.ForEach循环OperationCancelledException在使用时退出GetConsumableEnumerable

0 投票
1 回答
2083 浏览

entity-framework-4 - 将在 ObjectContext.Add 中使用 Parallel.ForEach 的好处

我正在使用具有通用存储库模式的实体框架。我使用以下方法添加对象。

我也在考虑扩展它以支持多个实体。

在上述场景中使用Parallel.ForEach而不是循环会有实际好处吗?foreach

也因为我SaveChanges()直到循环结束才调用,如果有一个主键违规,它会被扔到循环内还是什么时候SaveChanges()被调用?我可以回滚更改吗?

0 投票
2 回答
180 浏览

excel - 利用 Parallel / PLINQ 在所有 Excel 工作表单元格中查找关键字的最佳方法

作为标题,我有一个类似于 Excel 的对象模型List<string> keywords;Workbook

我想获取WorkbookCell与列表中的关键字匹配的所有内容。

我在想也许并行搜索是个好主意:

实际上这会不会太平行了?如果您有更好的想法,请告诉我。

** 在正常情况下,我的工作表少于 20 个,但每个工作表将包含超过 10000 行和数百列。

0 投票
1 回答
2311 浏览

azure - 将文件上传到 Azure BLOB 存储 - Parallel.Foreach 比 Foreach 慢

我有以下代码用于将文件夹从本地存储上传到 blob 存储,在 blob 的名称中包括文件夹名称本身(该代码基于此处找到的一些方法http://blog.smarx.com/posts/pivot-odata -and-windows-azure-visual-netflix-browsing):

和 :

此代码按预期工作并上传文件夹,但需要花费大量时间才能完成 -上传 25 个文件需要 20 秒,每个文件 40KB~。所以我厌倦了用普通循环替换并行循环,如下所示:

现在上传立即完成(大约3 秒)。

同样重要的是要注意我正在使用存储模拟器进行开发。
Parallel.Forech 显然应该更快。这种差异是来自存储模拟器的限制(并且在上线时,Parallel 会更快)还是我可能做错了什么?

0 投票
1 回答
2080 浏览

c# - Parallel.ForEach 和无法从已关闭的 TextReader 异常中读取

我有一个包含各种提要 URL 的文本文件。我正在使用以下代码读取集合(IEnumerable)中的所有 URL:

在下一行中,我正在打印总数:

之后,我使用 Parellel.ForEach 构造来执行一些逻辑,对应于每个 URL。以下是我正在使用的代码:

问题是,我得到以下异常,只要我添加代码以打印 URL 的数量,即调用的代码,URL 对象上的 Count() 方法。例外 :

如果我删除/注释掉打印计数值的行,Parallel.ForEach 循环运行良好。

有谁知道这里出了什么问题?

0 投票
2 回答
4792 浏览

c# - 将 foreach 循环更改为 Parallel.ForEach 循环

好的,这是基本的背景。该程序连接到 Outlook/Exchange 并解析所有邮件消息以查看哪些是加密的。我想做的一件事是使用多线程来减少扫描消息所需的时间。

目前代码如下所示:

我想改用 Parallel.ForEach 函数。我想知道如何设置它。我尝试将表达式设置为现在的样子,但我收到一条错误消息,指出 Object 类型正在用作变量。对此的任何帮助将不胜感激。

好的,我得到的布局似乎是正确的。代码现在看起来像这样:

我现在收到以下错误:

错误 15 无法从用法中推断方法 System.Threading.Tasks.Parallel.ForEach(System.Collections.Concurrent.OrderablePartitioner, System.Action)' 的类型参数。尝试明确指定类型参数。

有任何想法吗?谢谢你们的帮助,不胜感激。

好的,我找到了这个网站: http: //blogs.msdn.com/b/pfxteam/archive/2010/03/02/9971804.aspx,它给了我错误所需的答案。我只需要通过制作一个强制转换功能将集合更改为通用集合。

然后将原图调整为

现在它运行没有错误。欢呼。

0 投票
3 回答
2566 浏览

c# - 使用 Parallel.ForEach 在 datagridview 中创建行

最近决定编写一个“快速”的 Windows 窗体应用程序来标记我的 MP3 文件。自 .Net 3.0 以来没有对并行性做任何事情,所以我正在研究 Parallel.ForEach 方法来处理我在使用标准 foreach 语句时得到的 UI 锁定。这是一段摘录:

我已经弄清楚了 Parallel.ForEach() 的简单用法,但我不确定我是否应该使用该特定方法来更新 UI?有什么建议么?