Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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 Processbuilder_Java_Multiprocessing_Processbuilder - Fatal编程技术网

带有共享变量的Java Processbuilder

带有共享变量的Java Processbuilder,java,multiprocessing,processbuilder,Java,Multiprocessing,Processbuilder,我正在尝试使用Processbuilder运行2个进程。。问题是,我想知道这两个进程是否都可以使用共享变量 比如说,我有一个主进程,它创建并运行其他p1和p2进程 我在main_p中声明了一个整数,我可以通过某种方式传递变量引用或者同时从p1和p2访问变量吗 主要的 ProcessBuilder pb1 = new ProcessBuilder("java", "-jar", process_1_path, param); Process p1 = pb1.start(); Buffer

我正在尝试使用Processbuilder运行2个进程。。问题是,我想知道这两个进程是否都可以使用共享变量

比如说,我有一个主进程,它创建并运行其他p1和p2进程 我在main_p中声明了一个整数,我可以通过某种方式传递变量引用或者同时从p1和p2访问变量吗

主要的

 ProcessBuilder pb1 = new ProcessBuilder("java", "-jar", process_1_path, param); 
 Process p1 = pb1.start();
 BufferedReader in1 = new BufferedReader(new InputStreamReader(p1.getInputStream()));
 ProcessBuilder pb2 = new ProcessBuilder("java", "-jar", process_2_path, param); 
 Process p2 = pb2.start();
 BufferedReader in2 = new BufferedReader(new InputStreamReader(p2.getInputStream()));

提前感谢。

您可以通过进程之间的进程输入/输出流创建管道,并使用它交换数据。或者通过一个文件,或者DB、RMI或JMS,我认为如果我需要运行第一个进程,并且当它完成后,我运行另一个进程,并使用i/o streems传递从第一个进程获取的参数,那么这可能会起作用。但我需要在几乎相同的时间同时运行它们,我考虑使用文件来共享数据,以防出现其他方法:如果你开始像Q那样显示进程,那么管道应该工作两个java程序,你想进行通信——你考虑过线程吗?我已经用线程实现了同样的事情。但我需要使用多进程再次实现它