Хоча я знаю, що питання з цього питання вже висвітлювалися (наприклад, https://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads ), я не відчуваю, що я отримав задовільну відповідь .
Питання: чому JVM більше не підтримує зелені нитки?
Це говорить про FAQ у стилі Java :
Зелена нитка посилається на режим роботи для віртуальної машини Java (JVM), в якому весь код виконується в одному потоці операційної системи.
І це все на java.sun.com :
Мінусом є те, що використання зелених ниток означає, що системні потоки в Linux не використовуються, і тому віртуальну машину Java не можна масштабувати, коли додаються додаткові процесори.
Мені здається, що JVM може мати пул системних процесів, рівний кількості ядер, а потім виконувати зелені нитки поверх цього. Це може запропонувати великі переваги, коли у вас дуже велика кількість потоків, які часто блокуються (в основному через те, що поточне обмеження JVM має кількість потоків).
Думки?