Multithreading und Multiprozessor

Status
Nicht offen für weitere Antworten.

Onkel Hatti

Bekanntes Mitglied
Hallo

Ich hab da mal ne Frage.
Ist Java in der Lage, auf Multiprozessorsystemen mehr als eine Prozessor zu verwenden,
oder wird die Java VM immer nur auf einem Prozessor ausgeführt, unabhängig der gestarteten Threads?

Gruß
Hatti
 

0xdeadbeef

Top Contributor
Unter XP habe ich nicht den Eindruck, daß die JVM auf mehr als einem Prozessor läuft bzw. daß ein multithreaded Programm vom zweiten Prozessor profitiert. Unter Solaris (und Linux?) sollte es aber AFAIK gehen.
 

Illuvatar

Top Contributor
Ich meine zu wissen, dass zwei Threads auch zwei Prozessoren verwenden. Aber da ich nen Single-Core hab kann ich das net ausprobieren ;)
 

AlArenal

Top Contributor
Die Verteilung auf mehrere Prozessoren ist Sache des Betriebssystems, von daher zielt die Ausgangsfrage in die falsche Richtung.

Ansonsten:

Die Java VM schottet die in ihr laufenden Prozesse (Threads) vom Betriebssystem ab (Green Threads). Dies hat zur Folge, dass es nicht mehr möglich ist, mit systemeigenen Mitteln Prozesse zu kontrollieren. Sie stellt aber auch keine eigenen Funktionen zur Prozesskontrolle und -steuerung bereit. Somit können diese auch nicht von außen beendet werden, wenn sie auf Grund eines Fehlers das Gesamtsystem stören. Dazu muss dann die gesamte VM beendet werden. Manche Java Virtual Machines erlauben allerdings das direkte Mappen von dedizierten Java-Threads auf Betriebssystem-Prozesse (native Threads).

Mittlerweile ist das Mappen von Java-Threads die Default-Einstellung, d. h. nur in Ausnahmefällen wie dem Verwenden einer älteren VM erfolgt das Thread-Management nur durch die VM und nicht durch das Mapping auf Threads des Betriebssystems.

http://de.wikipedia.org/wiki/Java_Virtual_Machine
 

Onkel Hatti

Bekanntes Mitglied
AlArenal hat gesagt.:
Die Verteilung auf mehrere Prozessoren ist Sache des Betriebssystems, von daher zielt die Ausgangsfrage in die falsche Richtung.

Ansonsten:

Die Java VM schottet die in ihr laufenden Prozesse (Threads) vom Betriebssystem ab (Green Threads). Dies hat zur Folge, dass es nicht mehr möglich ist, mit systemeigenen Mitteln Prozesse zu kontrollieren. Sie stellt aber auch keine eigenen Funktionen zur Prozesskontrolle und -steuerung bereit. Somit können diese auch nicht von außen beendet werden, wenn sie auf Grund eines Fehlers das Gesamtsystem stören. Dazu muss dann die gesamte VM beendet werden. Manche Java Virtual Machines erlauben allerdings das direkte Mappen von dedizierten Java-Threads auf Betriebssystem-Prozesse (native Threads).

Mittlerweile ist das Mappen von Java-Threads die Default-Einstellung, d. h. nur in Ausnahmefällen wie dem Verwenden einer älteren VM erfolgt das Thread-Management nur durch die VM und nicht durch das Mapping auf Threads des Betriebssystems.

http://de.wikipedia.org/wiki/Java_Virtual_Machine

Aha, danke, damit ist die Frage beantwortet.
Auf Mehrprozessorsystemen werden die Threads eines Java-Programmes auf mehrere Prozessoren verteilt, wenn das Betriebssystem Threads auf mehrere Prozessoren verteilt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Multithreading Alphabet Allgemeine Java-Themen 3
T Multithreading: Wie viele Threads sollte ich erstellen? Allgemeine Java-Themen 12
J Threads Multithreading Allgemeine Java-Themen 15
K Multithreading plattform übergreifend? Allgemeine Java-Themen 3
R Bruteforce hashes mit multithreading. Funktioniert das so? Allgemeine Java-Themen 0
B Threads Multithreading Threads sollen warten Allgemeine Java-Themen 12
K Multithreading: Service(Task), wait und continue Allgemeine Java-Themen 21
M JUnit & Multithreading - sehr seltener Fehler Allgemeine Java-Themen 3
C Ressourcensparendes Multithreading Allgemeine Java-Themen 3
A Multithreading mit JButtons Allgemeine Java-Themen 5
S Threads Multithreading- langsamer als Singlethreading-Programm Allgemeine Java-Themen 6
D Threads Multithreading Allgemeine Java-Themen 25
A MultiThreading.. Scheduling-Problem? Allgemeine Java-Themen 10
M Multithreading Problem Allgemeine Java-Themen 3
dayaftereh Multithreading Allgemeine Java-Themen 16
E Multithreading and volatile Allgemeine Java-Themen 10
J Wie die gleichzeitige Ausführung mehrerer Tasks trotz Multithreading verhindern? Allgemeine Java-Themen 2
G multithreading, concurrency conveyor belt beispiel Allgemeine Java-Themen 2
A Problem mit Zufallszahlen und Multithreading Allgemeine Java-Themen 14
I Problem mit Multithreading Allgemeine Java-Themen 4
H Singleton und MultiThreading [erledigt] Allgemeine Java-Themen 3
C Collection Multithreading? Allgemeine Java-Themen 33
O Multithreading mit Java 5 u den Concurrency APIs Allgemeine Java-Themen 7
K Multithreading bei statischen Methoden Allgemeine Java-Themen 2
T ungewöhnliche Exception (Multithreading und JList) Allgemeine Java-Themen 10
K Frage zu ProgressBars, Algorithmen und Multithreading ->F Allgemeine Java-Themen 2
flashfactor Multithreading-Problem Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben