Почему в Ruby нет встроенного ThreadPool?
=========================================

У меня есть программа, которая создает 10000 потоков одновременно и запускает 8 одновременно.

Но ruby не имеет встроенного ThreadPool как Java. Есть ли веская причина?

 причина в том, что у ruby нет «настоящих» потоков. У этого есть то, что называют Зелеными нитями. Интерпретатор ruby заботится о планировании потоков выполнения без использования каких-либо базовых потоков ОС. Это эффективно делает Ruby однопоточным.



 потому что это легко сделать самостоятельно, используя стандартную библиотеку класса «Очередь».

Хотя это хороший вопрос - я мог бы предложить заняться этим с Ruby Core.



 что ThreadPool не будет таким полезным в реализациях Ruby на основе C. Вы можете использовать только один процессор одновременно с Matz's Ruby Intepreter или Yet Another Ruby VM.

Если вы хотите, чтобы несколько потоков работали на нескольких процессорах, вам нужно использовать JRuby.