Есть ли драгоценный камень для нитки, который любой может порекомендовать?Ruby: Любые драгоценные камни для поточной передачи?
ответ
Из моего опыта forking/process pooling гораздо эффективнее, чем использование Ruby в Ruby (при условии, что вам не нужно много с точки зрения связи потоков). Некоторое время назад я создал драгоценный камень под названием process_pool, который является очень простым пулом процессов с файловой очередью заданий (вы можете проверить здесь: http://github.com/psyho/process_pool).
Я бы попробовал https://github.com/ruby-concurrency/concurrent-ruby/.
Это в основном порт из java.util.concurrent абстракций (включая threadpools) до рубиново - за исключением, если вы установите его под JRuby, это будет использование java.util.concurrent материал. Таким образом, вы можете написать код, который будет работать и делать то же самое семантически (не обязательно такую же производительность) под любой рубиновой платформой.
Он также предлагает фьючерсы, абстракцию более высокого уровня, которая может быть более удобна в использовании, чем пулы потоков.