Bien que je sache que des questions à ce sujet ont déjà été abordées (par exemple, https://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads ), je n'ai pas l'impression d'avoir une réponse satisfaisante. .
La question qui se pose est la suivante: pourquoi la machine virtuelle Java ne prend-elle plus en charge les threads verts?
Voici ce que dit la FAQ Java de style code :
Un thread vert fait référence à un mode de fonctionnement de la machine virtuelle Java (JVM) dans lequel tout le code est exécuté dans un seul thread du système d'exploitation.
Et ceci sur java.sun.com :
L'inconvénient est que l'utilisation de threads verts signifie que les threads système sous Linux ne sont pas exploités et que la machine virtuelle Java n'est pas évolutive lorsque des processeurs supplémentaires sont ajoutés.
Il me semble que la machine virtuelle Java pourrait avoir un pool de processus système égal au nombre de cœurs, puis exécuter des threads verts par dessus. Cela pourrait offrir de gros avantages lorsque vous avez un très grand nombre de threads qui bloquent souvent (principalement parce que les JVM actuelles limitent le nombre de threads).
Pensées?