Java中的多进程

时间:2019-06-02 16:19:35

标签: java

我正在尝试使用java为多台计算机的系统构建仿真。每台计算机由一个进程(而不是线程)表示。我读过有关在Java中使用多进程的信息,但不幸的是,我不太了解它,对此仍然感到困惑。

哪个更好地表示这样的系统,fork / join模型或使用Java中的流程构建器创建多个流程?他们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

Fork / join通常是指jvm将用于各种“并行”活动的内置线程池。因此,这个概念与“真实”进程无关,正如所说的:它与线程有关。

另一方面,ProcessBuilder使您可以启动在jvm外部运行的独立进程。这意味着启动它们比线程要贵得多。不同流程之间的沟通也需要付出更多努力。另一方面,您可以终止另一个进程,这对于线程来说不是那么简单。

主要区别在于,您可以在单个进程中使用多个线程,反之亦然。您可以将该过程视为外部容器。线程是驻留在该容器中的“较小”的框。

我对新手的建议:使用线程。在Java中使用线程更为自然。与进程相比,您还将在线程主题上找到更多有用的资源。