-4

我知道以前有人问过这个问题,但是几年前。(2009 年的答案是“几千”。)我想知道当前的答案是什么,现在硬件已经变得相当快了。

我正在着手一个新项目,我所做的设计选择取决于当前的答案,而不是以前的答案。

非常感谢。

更多细节(在 EJP 要求澄清之后):

我将能够购买具有 4GB RAM 的 64 位服务器。在服务器(当然除了 Windows)上运行的唯一东西就是这个 JVM,所以大概我可以将大部分内存分配给堆,不是吗?假设每个中有 4 个 CPU 和 4 个内核。我的直觉说不超过 1000 个线程,但我无法证明这一点。

4

2 回答 2

-2

取决于 ram 的大小和每个线程消耗的内存。. .

理论上一次总线程数将=total-memory/memory-used-by-one-thread

但是您的系统上还会运行其他程序。.

所以我们将有“总有效内存可用/内存使用由一个线程”

于 2013-05-17T09:43:11.440 回答
-2

至于你的问题,这是一个不知情的猜测:仍然是几千。

更重要的是:不管硬件进步如何,运行数千个并发线程仍然不是一个聪明的主意。也许您应该重新考虑您的应用程序设计?

于 2013-05-17T09:42:08.097 回答