parallel.foreach 相关问题

Parallel.ForEach()是一种用于并行处理集合的.Net方法。

C# - 如何强制结束并行循环

Compute 函数内部有繁重且持久的计算(数十分钟)。我无法编辑此函数,我无权访问源代码。 列表parallelActions = ...

回答 1 投票 0

c# 的并行

我正在尝试提高计算图像平均值的方法的性能。 为此,我使用两个 For 语句来迭代所有图像,因此我尝试使用 Parallel For 来...

回答 2 投票 0

异步等待和并行

我对 async/await 如何并行工作有点困惑,所以我在这里做了一个测试代码。 我尝试发送我用列表模拟的 6 个任务。 每个任务都会执行另外 3 个子任务: 您可以复制/粘贴...

回答 1 投票 0

Parallel.ForEach 和 SQL 批量插入 20 个

我正在 Parallel.ForEach 语句中编写一些代码。每个线程都应该做一些工作,然后将结果插入列表中。当列表达到 %20 时,它应该插入项目...

回答 1 投票 0

为什么在ParallelLoopState类中看不到CurrentIteration

当我调试Parallel.ForEach时,我可以发现有字段CurrentIteration,但我在ParallelLoopState中找不到它。 如何获取CurrentIteration的值?

回答 2 投票 0

Parallel.ForEach 的输出始终相同

考虑以下代码: ConcurrentBag 结果 = new ConcurrentBag(); Parallel.ForEach(stringArray, myString => { 如果(myString.Contains(“你好”)){ ...

回答 1 投票 0

C# Parallel.ForEach 等同于 Rust

我对 Rust 很陌生,并试图在 Rust 中创建 C# 的 Parallel.Run 方法。 C#代码 Parallel.ForEach(集合,x => { // 用 x 做点什么 }) 防锈代码 pub async fn parallel_run 我对 Rust 很陌生,并试图在 Rust 中创建 C# 的 Parallel.Run 方法。 C#代码 Parallel.ForEach(collection, x => { // do something with x }) 防锈代码 pub async fn parallel_run<T>(collection: Vec<T>, callback: fn(item: T) -> dyn Future<Output= ()>){ {
 for item in collection {
 tokio::spawn(callback(item)).await.expect("TODO: panic message"); } 
}
 编译错误 类型值的大小dyn Future<Output = ()> 在编译时无法知道 [E0277] 在编译时帮助中没有已知大小: 特性 Sized 没有为 dyn Future<Output = ()> 实现 注意:tokio::spawn 中的绑定要求 dyn Future<Output = ()>不能在线程间发送 安全地 [E0277] 求助:特性 Send 未实现 dyn Future<Output = ()> 注意:tokio::spawn 中的绑定要求 我错过了什么?? 我需要在 rust 中重新创建 Parallel.ForEach 等价物 如果你只需要一些计算(CPU 绑定任务),你可以使用 rayon 并行过滤和平方值的例子: use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; fn my_complex_calculation(v: i32)->i32 { v*v } fn main(){ let values = vec![1,2,3,4,5,6,7,8,9,10]; let updated: Vec<i32> = values.par_iter() .filter(|&&x| x & 1 == 0) .copied() .map(my_complex_calculation) .collect(); assert_eq!(*updated, [4,16,36,64,100]); } 如果您需要并行执行一些异步任务并等待所有这些任务,您可以使用 JoinSet 来自 tokio. use tokio::task::JoinSet; async fn my_network_request(v: i32)->i32 { // Write your code here. v*v } #[tokio::main] async fn main(){ let values = vec![1,2,3,4,5,6,7,8,9,10]; let mut results = vec![0; values.len()]; let mut join_set = JoinSet::new(); for (i, &v) in values.iter().enumerate(){ join_set.spawn(async move { (i, my_network_request(v).await) }); } while let Some(res) = join_set.join_next().await { let(idx, val) = res.unwrap(); results[idx] = val; } assert_eq!(*results, [1, 4, 9, 16,25, 36,49, 64,81,100]); }

回答 1 投票 0

如何将 Parallel.ForEach(..) 用于 Regex.EnumerateMatches(ReadOnlySpan<char>)

我正在使用(为了提高速度)“RegexSrcGenerator”并且有一个像这样的正则表达式: var 我的正则表达式 = SrcGen.CachedRegex; //这是我用来迭代的: foreach(正则表达式中的 ValueMatch 匹配。

回答 0 投票 0

如何将 Parallel.ForEach(..) 用于 Regex.EnumerateMatches(ReadOnlySpan<char>)

我正在使用(为了提高速度)“RegexSrcGenerator”并且有一个像这样的正则表达式: var 我的正则表达式 = SrcGen.CachedRegex; //这是我用来迭代的: foreach(正则表达式中的 ValueMatch 匹配。

回答 0 投票 0

诊断显示(Visual Studio)中的 CPU 使用率是否错误?似乎显示的线程使用量比我计算的要少

我的项目需要最高性能,但诊断显示从未显示超过 5-10% 的处理器使用率。尽管将工作并行化并分配了所有可用的内核......

回答 1 投票 0

.Net 核心异步保存

我试图保存从 View 传递的所有 KPI 值,但我遇到了一个问题,我使用了 foreach 循环并且这个操作处理时间太长,所以我寻找解决方案......

回答 2 投票 0

如何在匹配条件的最低迭代时从 ParallelFor 循环中跳出?

我试图通过并行化给定模式 myPattern 和一长串模式模式之间的匹配来加快执行速度。如果模式只有一个

回答 3 投票 0

Parallel.ForEach 循环 ThreadAbortException 已超过最大等待/睡眠/加入时间

我在 .NET 4.8 应用程序中使用 Parallel.ForEach 循环从 Web API 并行下载多个文件。 问题是有时我会得到一个 ThreadAbortException / The Maximum Wait/Slee ...

回答 1 投票 0

强制终止由 Parallel.ForEach 生成的线程

使用Parallel.ForEach()时,有没有办法在特定线程上强制执行Thread.Abort? 我知道不推荐使用 Thread.Abort()。 我在集合上运行 Parallel.ForEach() ...

回答 1 投票 0

与数组的并行化

我是这个概念的新手,但我听说存在某种线程危险。那就是说,我怎样才能并行编写这个循环? //OceanVertexIndexes 是 List //trisWithVertex 是列表<...

回答 1 投票 0

具有并行和线程安全的 RNG 在重构后变得神奇

首先,请耐心回答这个问题,因为我对这些场景非常陌生,我不完全理解这背后的工作,我问这个问题是为了学习。 我觉得我被困在...

回答 0 投票 0

如何使用 R 并行读取多个大型 CSV 文件?

我有 10 个非常大的 CSV 文件(可能有也可能没有相同的标题),我正在使用“readr”包 read_csv_chunked() 连续读取和处理这些文件。目前...

回答 2 投票 0

在 R 中固定 foreach 和多巴循环

按照之前的帖子here,我用R写了一段代码,但是不行。 我想要做的是用 foreach 输出多个数组。 在 Matlab 中,我想做的是如下。我要...

回答 1 投票 0

Parallel.ForEach和async-await等。

我有这样的方法: public async Task GetResult() { MyResult result = new MyResult(); foreach(var method in Methods) { string json = await Process(method); ...

回答 3 投票 41

Parallel.ForEach阻塞调用方法。

我在使用Parallel.ForEach时遇到了一个问题。我写了一个简单的应用程序,将文件名添加到队列中,然后使用while循环在队列中迭代,下载文件。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.