2014-09-04 57 views
-3

理论上,看起来单个机器上可能有多个线程池,但即使机器有多个处理器,.Net框架也只有一个线程池。 这种说法是正确的吗?单台机器上可以存在多少个线程池?

更新1:

从Tim的意见,得到的答复是,会有每个进程一个线程池的.Net。因此,如果多台进程在单台机器上运行,则该机器上可能存在多个.Net线程池。

+2

你的声明的来源是什么? – 2014-09-04 00:03:15

+0

@GeorgeStocker,根据我所知,这只是我最好的猜测,但不知道它是否准确。 – Sunil 2014-09-04 00:06:59

+0

@GeorgeStocker,你认为我的问题是无效的? – Sunil 2014-09-04 00:08:40

回答

5

每个进程有一个线程池。从.NET Framework 4开始,进程的线程池的默认大小取决于若干因素(如虚拟地址空间的大小)的 。一个 进程可以调用GetMaxThreads方法来确定 线程的数量。线程池中的线程数可以使用SetMaxThreads方法更改为 。

Source(empthasis矿)

线程池提供了一个配置“容器”,例如,您可能要控制可用于特定应用程序或服务的线程数。

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

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

+1

优秀解释。谢谢。 – Sunil 2014-09-04 00:14:48

相关问题