使用fork的Java并行进程

使用fork的Java并行进程,java,concurrency,process,parallel-processing,fork,Java,Concurrency,Process,Parallel Processing,Fork,我想知道在Java中是否可以创建多个进程(是的,进程,而不是线程)来执行一些并行工作。例如,计算五个正方形的曲面,但每个正方形的计算必须在单独的过程中完成。它应该使用进程的分叉,但我对Java中的并发性还不熟悉,所以我真的不知道如何做这些事情。如果你能向我解释这一点,或者带我去那个地方或那本书,我将不胜感激。我看过很多关于并发性的Java书籍,但只针对线程而不是进程。您可以使用ProcessBuilder类或旧的Runtime.exec方法启动进程。在Unix系统上,它们使用fork和exec函

我想知道在Java中是否可以创建多个进程(是的,进程,而不是线程)来执行一些并行工作。例如,计算五个正方形的曲面,但每个正方形的计算必须在单独的过程中完成。它应该使用进程的分叉,但我对Java中的并发性还不熟悉,所以我真的不知道如何做这些事情。如果你能向我解释这一点,或者带我去那个地方或那本书,我将不胜感激。我看过很多关于并发性的Java书籍,但只针对线程而不是进程。

您可以使用ProcessBuilder类或旧的Runtime.exec方法启动进程。在Unix系统上,它们使用fork和exec函数。您可以在此处找到ProcessBuilder的文档,其中包括一个示例:


您可能还想知道两个进程如何相互通信,以便恢复计算结果。这里有太多的选择要详细讨论。流行的是管道、TCP套接字、内存映射文件和消息队列。

您认为线程和进程之间的区别是什么?版本7有一些新功能,请阅读