Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何分叉包含与父进程相同程序的子进程_Java_Processbuilder - Fatal编程技术网

在Java中,如何分叉包含与父进程相同程序的子进程

在Java中,如何分叉包含与父进程相同程序的子进程,java,processbuilder,Java,Processbuilder,在Java中,如何分叉包含与父进程相同程序的子进程。我使用过ProcessBuilder,但问题是没有办法像unix fork()系统调用那样,让一段代码只由子进程运行。请提供帮助。Java没有类似的fork()。这没有多大意义。如果您需要并行执行和共享内存,那么应该使用线程。如果您只需要在没有共享内存的情况下并行运行相同的Java程序,那么线程或单独的进程(通过ProcessBuilder)都可以工作。请在问题中输入一些代码片段。您可能需要JNI。即使这样,结果也可能不是那么好。您可以将父进程

在Java中,如何分叉包含与父进程相同程序的子进程。我使用过ProcessBuilder,但问题是没有办法像unix fork()系统调用那样,让一段代码只由子进程运行。请提供帮助。

Java没有类似的
fork()。这没有多大意义。如果您需要并行执行和共享内存,那么应该使用线程。如果您只需要在没有共享内存的情况下并行运行相同的Java程序,那么线程或单独的进程(通过
ProcessBuilder
)都可以工作。

请在问题中输入一些代码片段。您可能需要JNI。即使这样,结果也可能不是那么好。您可以将父进程绑定到端口。。。当子进程启动时,它将尝试绑定到同一端口,但失败。现在你知道这是一个子过程。这是一个全局互斥。我需要共享内存,以便孩子和家长之间进行通信。子进程基本上会向父进程发送一个信号,通知父进程退出。正如我所说的,这意味着线程是并行的,而不是进程。同样要注意的是,即使使用C程序,
fork()
也会复制内存,但它本身并不提供共享内存。