374得票5回答
如何限制Parallel.ForEach的并发数?

我有一个Parallel.ForEach()异步循环,用于下载一些网页。由于我的带宽有限,所以我每次只能下载x个页面,但是Parallel.ForEach会执行整个所需的网页列表。 在运行Parallel.ForEach时,是否有限制线程数或任何其他限制器的方法? 演示代码:Paralle...

318得票3回答
在Parallel.ForEach中是否有与'continue'相等的功能?

我正在将一些代码转换为Parallel.ForEach,但在代码中使用了continue时出现了错误。在Parallel.ForEach中是否有类似的功能可以替代foreach循环中的continue? Parallel.ForEach(items, parallelOptions, ite...

293得票10回答
使用并行foreach和异步lambda表达式

我想要并行处理一个集合,但是在实现过程中遇到了困难,因此希望能得到一些帮助。 问题出现在我想要在并行循环的 lambda 表达式中调用一个在 C# 中标记为 async 的方法时。例如: var bag = new ConcurrentBag<object>(); Parall...

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", ...

210得票6回答
如何将此foreach代码转换为Parallel.ForEach?

我有些困惑于Parallel.ForEach。 什么是Parallel.ForEach,它到底是做什么的? 请不要引用任何MSDN链接。 以下是一个简单的示例:string[] lines = File.ReadAllLines(txtProxyListPath.Text); List&lt...

155得票4回答
Parallel.ForEach()和foreach(IEnumerable<T>.AsParallel())的区别

额,我正在尝试使用反编译工具在BCL中找到这两个方法,但是找不到它们。这两个代码片段有什么区别? A: IEnumerable&lt;string&gt; items = ... Parallel.ForEach(items, item =&gt; { ... }); B: ...

132得票5回答
打破parallel.foreach?

如何跳出一个parallel.for循环?我有一条相当复杂的语句,如下所示:Parallel.ForEach&lt;ColorIndexHolder&gt;(ColorIndex.AsEnumerable(), new Action&lt;ColorIndexHolder&gt;((C...

121得票6回答
Parallel.ForEach是否限制活跃线程数?

考虑以下代码:var arrayStrings = new string[1000]; Parallel.ForEach&lt;string&gt;(arrayStrings, someString =&gt; { DoSomething(someString); }); 所有1000...

72得票6回答
如何从Parallel.ForEach中收集返回值?

我正在并行调用一个较慢的 Web 服务。一切都很好,直到我意识到需要从服务中获取一些信息。但是我不知道在哪里获取这些值。我无法写入数据库,因为使用 Parallel.ForEach 调用的方法内 HttpContext.Current 似乎为空。 以下是一个示例程序(请想象一个较慢的 Web...