Java中的流程 - 它们同时工作吗?

时间:2014-10-01 05:53:51

标签: java multithreading process

我正在通过Process对象执行另一个java程序 这需要一些时间来完成。与此同时,父程序是否会继续运行或是否会暂停,以等待子进程停止?

我知道两个线程可以并行运行,是否可以使用一个线程来执行另一个程序?

如果您需要更多详细信息,请告诉我,如果这样太过于抽象。

2 个答案:

答案 0 :(得分:7)

它将单独执行,除非您阻止等待来自其他进程的数据(例如,调用Process.getInputStream()然后从中读取),或者调用Process.waitFor()。第二个进程有自己的线程 - 这些正在启动第二个进程的进程的线程。

当然,两个进程最终可能会处理相同的资源,并且必须在这个意义上进行合作 - 但一般来说,使用多个进程是与线程分离的级别。 (让进程访问相同的内存,让它们的线程相互协调等等是相对棘手的。)

答案 1 :(得分:2)

这两个过程是独立的并且并行运行。父进程可以等待子进程在Process类中终止调用waitFor方法。