Java ProcessBuilder().start()与NodeJS require(';子进程';).spawn()的比较 我们有一个遗留在NodeJS的应用程序,这个应用程序调用C++应用程序,它有“要求”(“子进程”)。C++应用程序的工作时间约为5秒。p> P>然后我将NoDEJS应用程序转换为java,我使用 PalueBuffDeMe(.Stutix.)/Cux>调用同一个C++应用程序。现在完成应用程序大约需要30秒

Java ProcessBuilder().start()与NodeJS require(';子进程';).spawn()的比较 我们有一个遗留在NodeJS的应用程序,这个应用程序调用C++应用程序,它有“要求”(“子进程”)。C++应用程序的工作时间约为5秒。p> P>然后我将NoDEJS应用程序转换为java,我使用 PalueBuffDeMe(.Stutix.)/Cux>调用同一个C++应用程序。现在完成应用程序大约需要30秒,java,node.js,processbuilder,spawn,Java,Node.js,Processbuilder,Spawn,你知道原因是什么吗?或者这是一种正常的行为吗?C++应用程序创建一些文件(大约20)。原因可能是什么?我如何改进?谢谢require('child_process')。spawn()不是同步调用。该方法异步生成子进程,而不阻塞Node.js事件循环 如果您尝试要求('PauliPoalPosits).SpAvNoScCy.()/Cuff> >它将等待C++进程。 所以我认为在Java中,您需要使用一个新线程来运行这个过程。在文件中说 注意,这个类是不同步的。如果多个线程访问一个 ProcessB

你知道原因是什么吗?或者这是一种正常的行为吗?C++应用程序创建一些文件(大约20)。原因可能是什么?我如何改进?谢谢

require('child_process')。spawn()不是同步调用。该方法异步生成子进程,而不阻塞Node.js事件循环

如果您尝试<代码>要求('PauliPoalPosits).SpAvNoScCy.()/Cuff> >它将等待C++进程。

所以我认为在Java中,您需要使用一个新线程来运行这个过程。在文件中说

注意,这个类是不同步的。如果多个线程访问一个 ProcessBuilder实例,并且至少有一个线程 如果从结构上修改其中一个属性,则该属性必须同步 外部

如果您想异步运行它,可能需要创建新实例,而不是使用单个实例

Process p = new ProcessBuilder("myCommand", "myArg").start();

如果没有额外的分析,就不可能回答。