簡體   English   中英

用fork實現Java並行進程

[英]Java parallel processes with fork

我想知道在Java中是否有可能創建多個進程(是的,進程,而不是線程)來做一些並行工作。 例如,要計算五個正方形的表面,但每個正方形的計算必須在單獨的過程中完成。 它應該使用forking進程,但我不熟悉Java中的並發性,所以我真的不知道如何做這些事情。 如果您可以向我解釋這一點,或者將我指向那個地方或書籍,我將非常感激。 我看過許多用於並發的Java書籍,但僅適用於線程而非進程。

您可以使用ProcessBuilder類或較舊的Runtime.exec方法啟動進程。 在Unix系統上,這些使用fork和exec函數。 你會在這里找到ProcessBuilder的文檔,它包含一個例子: http//docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html

也許您還想知道兩個進程如何相互通信,以便可以恢復計算結果。 這里有太多選項可供討論。 流行的是管道,TCP套接字,內存映射文件和消息隊列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM