Есть программка, которая написана без излишних размышлений, и которой для нормальной работы нужно очень много (десятки тысяч) нитей.
Написана она на C++. Есть некий класс (пусть будет Thread) c методом execute, в котором все и происходит. Задача состоит в том, чтобы количество классов, одновременно обрабатывающих свои execute, было больше того количества нитей, которые разумно создавать в системе.
Одним из возможных решений, как мне кажется, является библиотека m*n, т.е. порождающая user level threads. Существуют ли такие для современных линуксов? Что еще можно предпринять кроме самого очевидного - изменения логики приложения?