Processus parallèles Java avec fork


Je me demandais s'il était possible en Java de créer plusieurs processus (oui, des processus, pas des threads) pour faire des travaux parallèles. Par exemple, pour calculer la surface de cinq carrés, mais ce calcul pour chaque carré doit être fait dans un processus séparé. Il est censé utiliser le forking des processus, mais je suis nouveau dans la concurrence en Java, donc je ne sais pas vraiment comment faire ces choses. Si vous pouviez m'expliquer cela, ou me diriger vers l'endroit ou le livre qui le fait, je serais très reconnaissant. Je ont vu de nombreux livres Java pour la concurrence, mais uniquement pour les threads et non les processus.

Author: Tshepang, 2013-03-24

1 answers

Vous pouvez lancer des processus à l'aide de la classe ProcessBuilder ou de l'ancien Runtime.méthode exec. Sur les systèmes Unix, ceux-ci utilisent les fonctions fork et exec. Vous trouverez la documentation de ProcessBuilder ici, elle inclut un exemple: http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html

Vous voudrez probablement aussi savoir comment deux processus peuvent se parler afin que les résultats du calcul puissent être récupérés. Il y a trop d'options pour en discuter à longueur de temps ici. Les plus populaires sont les pipes, les sockets TCP, les fichiers mappés en mémoire et les files d'attente de messages.

 2
Author: Joni, 2013-03-23 21:49:19