Der Unterschied zwischen Prozessen und Threads in Bezug auf Java besteht darin, dass Threads innerhalb derselben JVM-Instanz ausgeführt werden, während Prozesse in verschiedenen JVM-Instanzen ausgeführt werden.
Wenn Sie beispielsweise zwei Instanzen derselben Java-Anwendung starten, werden zwei Prozesse ausgeführt, die jeweils in einer eigenen JVM ausgeführt werden. Obwohl sie dieselbe Anwendung sind, laufen sie unabhängig voneinander, es sei denn, die Anwendung enthält Mittel zur Kommunikation zwischen sich selbst.
Thread-Erstellung in einem anderen Prozess wäre die Verantwortung für dessen Java-Code. Wenn Sie Threads in einer JVM unter der Anweisung von Code in einer anderen JVM erstellen möchten, müssen Sie einen prozessübergreifenden Steuerungsmechanismus implementieren (z. B. Socket, Steuerdatei, RMI, JMX usw.).
Ohne zu wissen, warum Sie Threads in einem anderen Prozess erzeugen, kann ich nur davon ausgehen, dass Sie irgendeine Art von Isolation wollen. Wenn es sich um eine Datenisolierung handelt, sollten Sie eine Überarbeitung der Architektur Ihrer Anwendung in Betracht ziehen, um sie an sich zu implementieren und einem der Vorschläge in Peter Lawreys comment zu folgen. Ein guter Ausgangspunkt für ExecutorService ist Java 8 Concurrency Tools: Threads and Executors.
Mögliche Duplikate von [Was ist der Unterschied zwischen einem Prozess und einem Thread?] (Http://stackoverflow.com/questions/200469/what-is-the-difference-between-a-process-and-a- thread) – Michael
In diesen Tagen würde ich 'parallelStream()' wenn möglich, oder einen ExecutorService verwenden, wenn nicht, erstellen rohe Threads ist wahrscheinlich keine gute Idee, es sei denn, Sie wissen wirklich, was Sie tun. –
Ich suche nach Thread-Erstellung innerhalb des neuen Prozesses. –