确定在不同Windows系统上运行的最大线程数

时间:2011-11-11 12:50:51

标签: threadpool

有人能告诉我是否有办法找出可在不同Windows系统上运行的最大线程数?

例如 - (假设)Windows 32位系统最多可以运行4000个线程。

1 个答案:

答案 0 :(得分:1)

我怀疑是否有最大数量。好吧,因为我们使用的是有限数量的内存,所以它可以包含在您可以容纳到内存中的多个线程中,也可以包含在您可以跟踪的内容中。每个系统都不同,我知道Java和C没有提供此功能的功能。 C#可以告诉你特定对象/应用程序需要多少内存,这样你就可以计算出估计值。

您可以在系统上测试。编写一个示例应用程序,它会生成线程并查看内存不足的时间。使用计数器来计算它们。这将为您提供系统的大致范围。

在Java中,您可以将ExecutorService与线程池一起使用。根据您使用的执行器服务,如果您提交更多作业,它可以继续生成线程。 C#中存在类似的技术。

更好的问题是产生的最大线程数和避免颠簸是什么。

您是否正在尝试接管操作系统并执行自己的流程/线程管理?你不应该这样做。