c#双核多线程并行计算 Parallel是否最优方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#双核多线程并行计算 Parallel是否最优方案相关的知识,希望对你有一定的参考价值。

1 Parallel.ForEach 会用当前线程一起算 所以要注意最好放在 Task.Start里面 将返回await 不然有可能造成死锁类问题。

2 就算你确定是cpu 密集的 也要注意并行度,最好不要超过你的核心数n多倍。
对于cpu密集的操作控制并行度可以用 Parallel 的参数。
如果其中有IO操作 最好用 TPL.Dataflow 库中的ActionBloack<T>等来控制异步操作并行度
参考技术A 这个要看你的应用场景
是WEB应用程序,还是WINFORM客户端程序

启用并行模式计算有两种方式 ,一是LIST等泛型启用并行计算很简单,使用AsParallel()即可。
二是使用Parallel.For的方式。

这两种方式在场景中使用会些区别,本人有关于此的文章,由于太长就在这里贴出来了

以上是关于c#双核多线程并行计算 Parallel是否最优方案的主要内容,如果未能解决你的问题,请参考以下文章

C# 并行与。线程代码性能

Parallel ForEach For 多线程并行计算使用注意

并行计算 cv::parallel_for_() 函数

总结:任务线程和同步

5天玩转C#并行和多线程编程

是否可以在Stream.parallel()中设置线程的优先级?