一台机器上可以存在多少个线程池?

时间:2014-09-04 00:01:44

标签: c# threadpool

理论上,似乎单个机器上可以有多个线程池,但.Net框架每台机器只有一个线程池,即使机器有多个处理器也是如此。 这句话是真的吗?

更新1:

根据Tim的评论,答案是每个进程都会有一个.Net线程池。因此,如果在一台计算机上运行多个进程,则该计算机上可以存在多个.Net线程池。

1 个答案:

答案 0 :(得分:6)

  

每个进程都有一个线程池。从.NET开始   框架4,进程的线程池的默认大小取决于   有几个因素,例如虚拟地址空间的大小。一个   进程可以调用GetMaxThreads方法来确定数量   线程。可以通过更改线程池中的线程数   使用SetMaxThreads方法。

Source(empthasis mine)

线程池提供配置"容器",例如,您可能希望控制特定应用程序或服务可用的线程数。

  

...即使机器有多个处理器

核心数确实会影响线程池默认值,但它并不限制可以创建的线程池数。