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

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

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

答案1

除了任何明确的限制之外,您还会遇到其他问题。Raymond Chen 解释道,每个线程都需要一些内存来进行记录,特别是它的堆栈(线程在执行程序时所在的位置)。32 位进程只能寻址 4 GB 内存,如果每个线程默认分配 1 MB 堆栈,则可容纳大约 2,000 个线程,如果每个线程分配的最小内存为 64 KB,则可容纳大约 12,000 个线程。64 位进程不存在地址空间问题,而是实际分配问题。我的系统在testlimit64 -t创建了 270,000 个线程后不久就耗尽了内存。

但是,程序不应该接近任何此类限制,也不需要担心它。引用之前链接的帖子(已修复断开的链接):

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

相关内容