Erlangの世界において「並列マップ関数」は必須
並列マップ関数: 個別のプロセスを作って各要素に関数を適用する
- 要素に対応するプロセスを生成
- PID順にメッセージを受け取る
^pid
を使って順序を維持している
spawn_link(fun)
fun
のプロセスを生成し、現在のプロセスと紐付け、生成したプロセスのPIDを返す
> c "spawn/pmap.exs"
[Parallel]
> Parallel.pmap 1..10, &(&1 * &1)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]