java 中如何实现多进程_在Java中可以使用哪些方法来实现Java的多进程运行模式?...
在Java中我們可以使用兩種方法來實現這種要求。最簡單的方法就是通過Runtime中的exec方法執行java classname。如果執行成功,這個方法返回一個Process對象,如果執行失敗,將拋出一個IOException錯誤。下面讓我們來看一個簡單的例子。
// Test1。java文件import java。io。*;public class Test{ public static void main(String[] args) {
FileOutputStream fOut = new FileOutputStream("c:\\Test1。
txt");
fOut。close();
System。out。println("被調用成功!"); }}// Test_Exec。javapublic class Test_Exec{ public static void main(String[] args) {
Runtime run = Runtime。
getRuntime();
Process p = run。exec("java test1");
}}
通過java Test_Exec運行程序后,發現在C盤多了個Test1。txt文件,但在控制臺中并未出現"被調用成功!"的輸出信息。
因此可以斷定,Test已經被執行成功,但因為某種原因,Test的輸出信息未在Test_Exec的控制臺中輸出。這個原因也很簡單,因為使用exec建立的是Test_Exec的子進程,這個子進程并沒有自己的控制臺,因此,它并不會輸出任何信息。
如果要輸出子進程的輸出信息,可以通過Process中的getInputStream得到子進程的輸出流(在子進程中輸出,在父進程中就是輸入),然后將子進程中的輸出流從父進程的控制臺輸出。
具體的實現代碼如下如示:// Test_Exec_Out。javaimport java。io。*;public class Test_Exec_Out{ public static void main(String[] args) {
Runtime run = Runtime。
getRuntime();
Process p = run。exec("java test1");
BufferedInputStream in = new BufferedInputStream(p。getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String s;
while ((s = br。
readLine()) != null)
System。out。println(s);
}}。
全部
總結
以上是生活随笔為你收集整理的java 中如何实现多进程_在Java中可以使用哪些方法来实现Java的多进程运行模式?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java ceilingentry_ja
- 下一篇: java的数组查找算法_java数组、排