Пулы потоков Ruby 1.9

Насколько я понимаю, Ruby 1.9 использует потоки ОС, но только один поток по-прежнему будет работать одновременно (, хотя один поток может выполнять блокировку ввода-вывода, пока другой поток выполняет обработку ). Примеры потоков, которые я видел, просто используют Thread.newдля запуска нового потока. Исходя из фона Java, я обычно использую пулы потоков, чтобы не запускать много новых потоков, поскольку они «тяжеловесны».

Есть ли конструкция пула потоков, встроенная в ruby? Я не видел ни одного в языковых библиотеках по умолчанию. Или есть стандартный гем, который обычно используется? Поскольку многопоточность на уровне ОС является более новой функцией ruby, я не знаю, насколько зрелыми для нее являются библиотеки.

6
задан Jeff Storey 8 July 2012 в 17:48
поделиться