2012-04-05 13 views
0

Da JVM zunächst nur einen Prozess erstellt, erhöht die Erstellung mehrerer Threads in diesem Prozess die CPU-Leistung, vorausgesetzt, Sie haben mehrere CPU-Prozessoren? Dies liegt daran, dass sich alle Threads innerhalb desselben Prozesses die Ressourcen des Prozesses teilen. Also, technisch ist die Ausführung sequenziell?Java-Einzelprozess mit mehreren Threads

Mit anderen Worten, es sei denn, Sie erstellen zwei oder mehr Prozesse und verknüpfen Threads mit jedem von ihnen, können Sie nicht den vollen Vorteil der parallelen Ausführung in mehreren CPU-Prozessoren nutzen?

+0

Meinst du CPU-Leistung oder -Verwendung? –

+3

Haben Sie http://stackoverflow.com/questions/1649402/would-a-multithreaded-java-application-exploit-a-multi-core-machine-very-well angeschaut? – claesv

+0

Ich meine CPU-Auslastung. – ajithganesan

Antwort

1

Ja, die Verteilung der Arbeitslast auf mehrere Threads kann die Leistung Ihres Programms steigern. Es erhöht auch die Reaktionsfähigkeit.

Allerdings gibt es einen erhöhten Aufwand aufgrund von Kommunikation und Synchronisation. Außerdem können nicht alle Algorithmen parallelisiert werden.

+0

+1: Gute Antwort. –

Verwandte Themen