Ja, die Details der Planung von Threads in Java ist abhängig von der JVM Implementierung und (in der Regel) auf dem O sowie Implementierung.
Aber die Besonderheiten dieser Planung ist auch nicht in der Java SE-Spezifikation angegeben, nur ein paar ausgewählte Grundregeln sind angegeben.
Das bedeutet, dass die OS-spezifische Planung auch diesen JVM-Spezifikationen entspricht, solange sie mit diesen Grundregeln konform ist.
Wenn Ihr Code von der Planung abhängt, die nicht in der JVM-Spezifikation angegeben ist, hängt es von Implementierungsdetails ab und kann nicht überall funktionieren.
Das ist ungefähr die gleiche Situation wie Datei-E/A: Wenn Sie Pfade fest codieren und ein festes Verzeichnistrennzeichen verwenden, arbeiten Sie außerhalb der Spezifikation und können nicht erwarten, dass Ihr Code plattformübergreifend funktioniert.
Edit: Die JVM Implementierung selbst (das heißt der JRE) ist plattformabhängig, natürlich. Es bietet die Schicht, die es reinen Java-Programmen erlaubt, sich nicht um die Plattform-Besonderheiten zu kümmern. Um dies zu erreichen, muss die JRE paltformspezifisch sein.
wat wenn ich Antworten mehr als eine mag?:) –
Normalerweise akzeptiere ich einen und verbessere die anderen in diesem Fall. –
JVM ist plattformabhängig und die Java-Programme sind plattformunabhängig. –