gpt4 book ai didi

c# - 每个 CPU 线程的实际限制是多少?

转载 作者:太空狗 更新时间:2023-10-29 20:00:32 24 4
gpt4 key购买 nike

我一直在玩线程,试图将某些限制推向极致 - 为了我自己的乐趣。我知道线程池默认为 25 个线程,可以增加到 1000 个(根据 MSDN)。但是,每个 CPU 核心线程的实际限制是什么?在某些时候,上下文切换将导致比线程保存更多的瓶颈。有没有人对此有任何最佳实践?我们说的是 100、200 还是 500?这取决于线程在做什么吗?除了框架规定的架构,还有什么决定了每个 CPU 核心有多少线程以最佳方式运行?

最佳答案

当然,这完全取决于线程在做什么。如果它们受 CPU 限制(比如陷入无限循环),那么每个内核一个线程就足以使 CPU 饱和;不止于此(并且您已经拥有更多,来自后台进程等)并且您将开始争用。

在另一个极端,如果线程不符合运行条件(例如在某些同步对象上阻塞),那么您可以拥有的线程数的限制将由 CPU 以外的因素决定(堆栈的内存、操作系统内部限制等)。

关于c# - 每个 CPU 线程的实际限制是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5240296/

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