我正在通过 Process 对象执行另一个 java 程序。
这需要一些时间才能完成。同时,父程序会继续运行还是会暂停,等待子进程停止?
我知道两个线程可以并行运行,一个线程可以用来执行另一个程序吗?
如果您需要更多详细信息(如果这变得过于抽象),请告诉我。
最佳答案
它将单独执行,除非您阻止等待来自其他进程的数据(例如调用 Process.getInputStream()
然后从中读取),或调用 Process.waitFor()
。第二个进程有自己的线程 - 这些不是恰好启动第二个进程的进程的线程。
当然,两个进程最终可能会处理相同的资源,并且必须在这种意义上进行合作 - 但一般来说,使用多个进程是与线程不同的分离级别。 (让进程访问相同的内存、让它们的线程相互协调等相对棘手)
关于java - Java 中的进程——它们同时工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26134929/