2015-04-05 2 views
0

Я пытаюсь запустить 2 процесса с помощью Processbuilder .. вещь Интересно, можно ли использовать общую переменную для обоих процессов?Java Processbuilder с общей переменной

пусть говорят, что я есть main_p, кто создает и запускает другие p1 и p2 обрабатывает и целое (я), объявленный в main_p, может я как-то передать ссылку на переменную или сделать переменную доступной из p1 и p2 в то же время ?

main_p

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())); 

заранее спасибо.

+0

Вы используете две Java-программы, которые вы хотите связывать - считали ли вы темы? – alfasin

+0

Я уже реализую то же самое, используя потоки .. но мне нужно реализовать его снова, используя многопроцесс – Krack

ответ

0

Вы можете создать канал (через Processes Input/OutputStream) между процессами и обменять данные, используя его. Или через файл или DB или RMI или JMS

+0

Я думаю, что это может сработать, если мне нужно запустить первый процесс, и когда он будет выполнен, я запустил другой процесс и передал param i, извлеченный из сначала с использованием стрелок ввода/вывода. , но мне нужно запустить их одновременно (почти в то же время) – Krack

+0

Я рассматриваю использование файла для обмена данными, если нет другого пути :) – Krack

+0

, если вы запускаете процессы, как вы показываете в Q, тогда труба должна работать –

Смежные вопросы