我的网络抓取应用中有1,00,00个元素可供使用。我很困惑选择与Executor Service(Java 6)一起使用的线程数。
实际上,如果我使用更多的线程,我会因为选择线程数而感到困惑,我会失去记忆错误。此外,随着许多线程进入服务器,互联网停止运行,我每次都必须重启我的电脑。
有人可以帮我选择这种情况的线程数吗?
谢谢!
答案 0 :(得分:2)
很难说,因为吞吐量方面的限制因素可能是系统的网络带宽和延迟。如果您尝试超出此限制,则可能会因各种次要影响而降低吞吐量:例如:拥塞,颠簸,扼杀(由服务器)等。
正确的方法是使池中的线程数成为配置参数......并对其进行调整。从小处开始,当增加线程数不会显着提高吞吐量时,请停止增加它。