Windows 10中每个进程的最大线程限制?

Cli*_*iff 3 windows threads windows-10

我有一个使用线程的程序。我想知道 Windows 10 中每个进程的最大线程数限制是多少,或者 Windows 10 可以处理的最大线程数是多少?

Ben*_*n N 5

您会遇到其他问题,而不是任何明确的上限。正如 Raymond Chen 所解释的那样,每个线程都需要一些内存用于簿记,特别是它的堆栈(线程在执行程序时所在的位置)。32 位进程只能寻址 4 GB 的内存,这将适合大约 2,000 个线程,每个线程的默认堆栈分配为 1 MB,或者大约 12,000 个,每个线程的最小可能分配为 64 KB。64 位进程没有地址空间问题,而是实际分配问题。在testlimit64 -t创建了 270,000 个线程后,我的系统内存不足。

但是,程序不应接近任何此类限制或需要担心它。引用先前链接的帖子(修复了损坏的链接):

众所周知,“每个客户端一个线程”模型不会超过十几个客户端左右。如果您要同时处理多个客户端,您应该转向一个模型,而不是将线程专用于客户端,而是分配一个对象。[...] Windows 提供I/O 完成端口线程池来帮助您从基于线程的模型转换为基于工作项的模型。