【发布时间】:2012-10-01 18:22:32
【问题描述】:
我有一个绝妙的主意来加快生成 36 个文件所需的时间:使用 36 个线程!不幸的是,如果我用 36 个线程/会话启动一个连接(一个 j2ssh 连接对象),那么一切都会比我一次执行每个线程时滞后得多。
现在,如果我尝试创建 36 个新连接(36 个j2ssh 连接对象),那么每个线程都有一个与服务器的单独连接,要么我出现内存不足异常(不知何故程序仍然运行,并成功结束了它的工作,比我一个接一个地执行一个线程的时间)。
那该怎么办?如何找到我应该使用的最佳线程数?
因为Thread.activeCount() 在开始我的 36 个线程之前是 3?!我正在使用联想笔记本电脑英特尔酷睿 i5。
【问题讨论】:
-
您是在服务器端还是在 j2ssh 连接的客户端运行工作线程?
-
@Paŭlo Ebermann 在服务器上运行它们,线程 == 向服务器发送 2 个命令
-
听起来你需要看看你的 JVM 是否内存不足。
标签: java multithreading