Runtime.getRuntime()。exec()没有启动进程

时间:2010-09-21 14:58:50

标签: java multithreading runtime.exec

我有一个多线程应用程序,它启动一个外部应用程序来进行数据转换,为应用程序的后续部分做准备。

我有一个问题,当我将线程数设置为高于6个并发线程时,Runtime.getRuntime()。exec()无法启动外部应用程序(我也尝试使用具有相同结果的ProcessBuilder)。它不会抛出任何类型的异常,也不会在标准输出流或标准错误流上捕获任何内容。更重要的是在重启服务器时,我可以运行至少8个并发线程几分钟而不会出现问题,但问题将会重新出现。

我已经读过Linux的实现使用fork()命令,这会导致无法分配内存错误,但我没有收到任何此类错误。

我已经编写了另一个测试应用程序来启动X数量的notespad.exe而没有问题,X大到100。

应用程序在VMware环境中的Window 2003标准x64服务器上运行。 JVM版本是1.6.0_11。

我可以更新JVM以尝试解决问题,但是希望将其作为最后的努力,以防止需要使用新的JVM版本测试所有应用程序。

1 个答案:

答案 0 :(得分:-1)

尝试从http://www.dlldump.com/download-dll-files_new.php/dllfiles/F/framedyn.dll/5.1.2600.2180/download.html下载dll“framedyn.dll”并粘贴到C:\ Windows \ System32。