gpt4 book ai didi

c++ - 一个进程在windows中可以拥有的最大线程数是多少

转载 作者:IT老高 更新时间:2023-10-28 23:00:25 29 4
gpt4 key购买 nike

在 Windows 进程中,一次使用的线程是否有任何限制。如果是这样,每个进程可以使用的最大线程数是多少?

最佳答案

据我所知没有限制,但有两个实际限制:

  1. 堆栈的虚拟空间。例如,在 32 位中,进程的虚拟空间为 4GB,但只有大约 2G 可用于一般用途。默认情况下每个线程将保留 1MB 的堆栈空间,因此最高值为 2000 个线程。当然,您可以更改堆栈的大小并将其降低,以便可以容纳更多线程(CreateThread 中的参数 dwStackSize 或选项 /STACK链接器命令)。如果您使用 64 位系统,此限制实际上会消失。
  2. 调度程序开销。一旦你读取了数千个线程,仅仅调度它们就会消耗你近 100% 的 CPU 时间,所以无论如何它们大多是无用的。这不是硬性限制,只是您创建的线程越多,您的程序就会越慢。

关于c++ - 一个进程在windows中可以拥有的最大线程数是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710849/

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