rubyで並列処理を書く場合、Parallelが簡単でおすすめです。
#インストール
gem install parallel
#実装例
マルチスレッドの例
list = ["A", "B", "C", "D"]
Parallel.each(list, in_thread: 2) do |name|
puts name
end
マルチプロセスの例
list = ["A", "B", "C", "D"]
Parallel.each(list, in_process: 2) do |name|
puts name
end
forkなどの処理をParallelが隠ぺいしてくれるので楽に書けますね。
in_thread, in_processの値を増やすことで並列度変更することもできます。