2016-02-11 5 views
1

Мне нужно запустить Java-программу в коде на C++, поэтому я попробовал ее ниже.Нет ли способа вызывать Java Runtime Continuously? (без выхода Java Runtime)

system ("java MyProgram1.class"); 
system ("java MyProgram2.class"); 
system ("java MyProgram3.class"); 
system ("java MyProgram4.class"); 

Однако каждый издержки очень высокие, он работает медленно. Я предполагаю, что выполнение Java Runtime в каждом вызове происходит очень медленно. (каждые около 50 секунд на моем ПК)

на мой взгляд, этот шаг есть .. (1) Invoke System (...) Функция -> (2) Запуск Java Runtime -> (3) Запуск Java Java Program1 -> (4) Invoke System() Функция -> (5) Запустить Java Runtime -> (6) Запустить программу Java2 -> (7) Вызвать функцию System() -> ...

так, в Командная строка Windows, нет ли способа для повторного выполнения Java Runtime? (Без выхода из Java Runtime)

, например,

windows prompt> run JavaRuntime 
--> Going to Java Runtime 
Java> MyProgram1 
Java> MyProgram2 
Java> MyProgram3 
Java> MyProgram4 
Java> Exit 
windows prompt> ... 

ответ

0

Java выходит только при выходе из программы, так же, как в C++.

Если вы хотите Java, чтобы продолжать работать, вам нужно не выйти (так же, как в C++)

Если вы хотите общаться с обкаткой вы должны использовать некоторую форму IPC/RPC/RMI (только например C++), или вы можете использовать файлы/трубы.

Это верно для любого процесса, написанного на любом языке.

Я полагаю, что работающий Java Runtime в каждом вызове очень медленный. (около 50 секунд на моем ПК)

Простой процесс занимает около 0,1 секунды, что больше, чем C++, но если вы делаете это каждые 50 секунд, он будет тратить около 0,2% одного процессора.