Frage zu Prozessen und Java-Threads

takidoso

Erfahrenes Mitglied
Hallo und Halli,
wie sieht das eigetnlich aus mit Threads und Systemprozessen?
wenn ich das richtig verstanden habe (bitte um Korrektur oder bestätigung) wird unter Windows alle Threads einer Javamaschine in einem Systemprozess gehalten. Wie sieht das eigetnlich unter Unixbetriebssystemen aus, ist das dort genauso, oder wird wie von Geisterhand weitere Prozesse im Bertiebssystem gestartet? (ich vermute mal ersteres aber kann mir das jemand bestätigen?)

mit fragenden Grüßen

Takidoso
 
Hallo!

Wie Threads in Java von der JVM abgebildet werden hängt von der Implementierung der JVM ab. Unter Windows werden die meisten JVM's die Java Threads per default auf native Betriebsystemthreads (die in dem selben Prozess wie die JVM leben) abbilden.

Manche (altere) JVM Implementierungen kommen sogar mit einer eigenen Thread-Implementierung daher (green Threads) die Threads simulieren konnten.

Unter Linux ist es so, dass jeder Java Thread als eigener Child Prozess des Prozesses repräsentiert wird in dem die JVM gestartet wurde.
(Deshalb schaut der pstree bei java Programmen anfangs auch so ungewohnt aus...(Ich sag nur Tomcat mit 100+ Child Prozessen ;-) ))

Gruß Tom
 
Zurück