Obwohl ich weiß, dass Fragen hierzu bereits beantwortet wurden (z. B. https://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads ), habe ich keine zufriedenstellende Antwort .
Die Frage ist: Warum unterstützt JVM keine grünen Fäden mehr?
In der Java-FAQ im Codestil heißt es :
Ein grüner Thread bezieht sich auf einen Betriebsmodus für die Java Virtual Machine (JVM), in dem der gesamte Code in einem einzigen Betriebssystem-Thread ausgeführt wird.
Und das auf java.sun.com :
Der Nachteil ist, dass die Verwendung von grünen Threads bedeutet, dass System-Threads unter Linux nicht ausgenutzt werden und die Java Virtual Machine daher nicht skalierbar ist, wenn zusätzliche CPUs hinzugefügt werden.
Es scheint mir, dass die JVM einen Pool von Systemprozessen haben könnte, der der Anzahl der Kerne entspricht, und dann grüne Threads darüber laufen lassen. Dies könnte einige große Vorteile bieten, wenn Sie eine sehr große Anzahl von Threads haben, die häufig blockieren (hauptsächlich, weil aktuelle JVMs die Anzahl der Threads begrenzen).
Gedanken?