以下のコードにおいて,parallelForメソッドの出力を順番はバラバラでよいのでvalueListに全て格納したいです.
どのようにコードを記述すればよいのでしょうか.
ご教授お願い致します.

(現在の実行結果も質問下部に掲載します)

【追加の質問】
1点目:上記のようなコードをマルチスレッドとマルチプロセスの両方で動かせた場合,処理速度はどのくらい変わりますのでしょうか.
2点目:スパコン等でマルチプロセスで実行させたいと考えていまして,どうにかしてマルチプロセスで実行できる方法は無いのでしょうか.

require 'test/unit'
require 'parallel'

def parallelFor(value, b = nil)

  p "value = #{value}"
  p "b = #{b}"

  return value
end

class UnitTest < Test::Unit::TestCase

  def test_parallelFor

    valueList = []

    vv = [10, 11, 12, 13, 14]
    Parallel.each_with_index(vv, :in_processes => 4){|v, i|
      valueTrial = parallelFor(v, i == 0 ? true : nil)
      p "valueTrial = #{valueTrial}"
      valueList << valueTrial
    }
    p "valueList = #{valueList}"

  end

end

「テストコード実行結果」

Started
"value = 10"
"b = true"
"valueTrial = 10"
"value = 11"
"b = "
"valueTrial = 11"
"value = 12"
"value = 13"
"b = "
"valueTrial = 13"
"b = "
"valueTrial = 12"
"value = 14"
"b = "
"valueTrial = 14"
"valueList = []"
.
Finished in 0.022698 seconds.