parallel.for相关内容

使用 Parallel.For 添加列表的线程

我在使用 Parallel.For 方法时遇到问题.我正在拨打 GET 电话以取回列表.然后我想将该列表添加到主列表中.我尝试过非线程安全的 addRange,并且会在列表中返回错误的数据.我也试过使用 ConcurrentBag 也没有得到正确的数据.当我说没有获得正确的数据时,我的意思是列表中的某些数据要么重复,要么被覆盖. 这是我的代码(更新): var thisLock = new ..

在 C# 中按元素相乘数组具有意想不到的性能

我想找到按元素相乘两个数组的最佳方法.这是一个更广泛的项目的一部分,其中性能但不是唯一的考虑因素. 我今天开始用 C# (Linqpad) 编写一些函数,所以它没有以任何方式进行优化.下面代码的输出如下: Environment.ProcessorCount: 4向量.Count: 4对于顺序:129ms,总和:2.30619276241231E+25Plinq:344ms ..
发布时间:2021-09-04 19:37:47 C#/.NET

BlockingCollection with Parallel.For 挂起?

我正在尝试使用 BlockingCollection 以试图更好地理解它们,但我正在努力理解为什么当我使用 Parallel 时我的代码在完成处理我的所有项目时挂起.对于 我只是给它添加了一个数字(制作人?): var blocksCollection = new BlockingCollection();Task.Factory.StartNew(() =>{而(计数 然后我正在尝试 ..

为什么在使用 Parallel.For 时会导致 ArgumentOutOfRangeException?

我尝试编写一些东西来散列数字,并根据列表检查它们以查看是否存在匹配的散列. 我使用 for 循环使这个工作正常,然后我决定尝试使用 Parallel.For 加快速度 - 不幸的是,这会导致我在调试时遇到问题的 ArgumentOutOfRangeException. 公共类HashCompare{私人字符串encryptedCardNumber;私有加密器加密器;私有 BlockingC ..
发布时间:2021-06-04 20:38:09 C#/.NET

完成后,BackgroundWorkers队列引发事件

我需要执行 n BackgroundWorkers,当他们完成时,我想引发一个事件,并根据他们的所有工作来做些事情.我的用例是创建队列,填充队列,然后仅运行一次.为此,我制作了一个ParallelQueue类.经过最初的测试,它似乎可以正常工作,但是我担心条件 _max == _iteration 并不是最好的条件,那就是评估队列中的所有工作是否已经完成.还是我对Queue的使用不是线程安全的,我 ..
发布时间:2021-04-12 19:18:29 C#/.NET

Parallel.对于使用ConcurrentQueue的List中的项目-可以工作吗?

我有一个List TaskList项,我们可以使用并行循环进行迭代. 当TaskClass使用其自己的CompareTo(object obj)方法实现IComparable时,列表中的项目将按特定顺序排序. 因此,我们需要按顺序对项目进行操作. 请注意,它们不必按顺序完成,只需按顺序开始. 因此,TaskList [0]应该首先启动;然后是TaskList ..
发布时间:2020-07-20 18:59:49 C#/.NET

并行-不使用所有内核

我正在使用Parallel.For块内的Math.Net Numerics并行进行繁重的数学计算. 当我在具有4个内核(2 * 2)的本地系统中运行代码时,它正在使用所有4个内核. 但是当我在具有8个内核(4 * 2)的开发服务器中运行相同的代码时,它仅使用4个内核. 我尝试设置MaxDegreeOfParallism,但无济于事. 任何想法,为什么不使用所有内核. ..

我可以将Parallel.For与sql命令一起使用吗?

我有一类范围 公共类avl_range { public long start {get ;组; } 公开端{组; } } 如果我使用普通的 FOR 可以完美地工作,但是必须等待每个命令完成并且每个查询需要8秒,所以10个查询需要80秒。 在并行版本中,如果我只打印范围完美,但是如果尝试执行命令,则说明该过程已在进行中。 {“操作已 ..
发布时间:2020-05-29 20:11:25 C#/.NET