我知道之前有人问过,但几年前。 (答案是2009年的'几千'。)我想知道现在的答案是什么,现在硬件已经变得相当快。
我正在着手一个新项目,我所做的设计选择取决于当前的答案,而不是之前的答案。
非常感谢。
更多细节(按照EJP要求澄清):
我将能够购买带有4GB RAM的64位服务器。在服务器上运行的唯一东西(当然不是Windows)将是这个JVM,所以我可以将大部分内存分配到堆中吗?假设每个4个CPU和4个核心。我的直觉说不超过1000个线程,但我无法证明这一点。
答案 0 :(得分:-2)
至于你的问题,这是一个不知情的猜测:仍然是几千。
更重要的是:尽管硬件有所进步,但运行数千个并发线程仍然不是一个明智的想法。也许您应该重新考虑您的应用程序设计?
答案 1 :(得分:-2)
取决于你的ram的大小和每个线程消耗的内存。 。
理论上,一次总线程数为= total-memory/memory-used-by-one-thread
但是系统上还会运行其他程序。
所以我们将拥有'总有效内存可用/内存使用一个线程'