gpt4 book ai didi

.net - 为什么三个线程比 10+ 快

转载 作者:行者123 更新时间:2023-12-01 07:11:16 26 4
gpt4 key购买 nike

我的问题是针对 Windows 环境中多线程的性能问题。
在测试我的代码后,我得到的结果是增加线程数不会提高并行计算的性能,并且在经过一些计数后变得更少。到底是怎么回事?是否可以找出最佳线程数的公式:F(processors, memory..) = ?

最佳答案

首先,由于您的 CPU 对它可以并发执行的线程数有硬件限制(例如,四核为 4,如果具有超线程,则为两倍),因此您无法通过创建比现有线程更多的线程来获得更好的性能核心。正如您所见,额外的线程实际上会降低性能,因为在每单位时间完成的工作保持不变的情况下,线程调度和同步的开销会增加。

Task Parallel Library如果您想让运行时自动为您管理一些参数,这是一个非常好的起点——如果将来您发现有理由这样做,您可以进行显式控制。

关于.net - 为什么三个线程比 10+ 快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9514267/

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