gpt4 book ai didi

c# - 单核 Plinq?

转载 作者:行者123 更新时间:2023-12-02 22:32:59 26 4
gpt4 key购买 nike

据我了解:

Programming to leverage multicores or multiple processors is called parallel programming.

但是如果我没有有 >1 个内核怎么办?

是否执行如下命令:

"abcdef".AsParallel().Select(c=>char.ToUpper(c)).ToArray()

顺序运行

(我知道即使我有 >1 个核心,Plinq 优化仍然可以选择并行。但我的问题是关于拥有 ==1 个核心。)

或者

它仍然可以在多个 线程(1 个核心)中,例如:

enter image description here

(但恕我直言,它不会是并行编程)

我有点困惑。非常感谢任何帮助。

最佳答案

PLinq will default the allowed degree of parallelism toMath.Min(ProcessorCount, MAX_SUPPORTED_DOP) where MAX_SUPPORTED_DOP is 64 for .NET 4.0 and 512 for .NET 4.6

您可以显式地将最大并发限制提高到超过该限制(或降低到该限制以下),这使 PLinq 可以自由地使用 1 到 个线程来完成您的工作。通常提高默认值只有在您的工作受 I/O 严重限制时才有用。

换句话说,除非您使用例如 WithDegreeOfParallelism 更改默认并发限制,您的任务将使用单个内核上的单个线程运行。

关于c# - 单核 Plinq?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com