注意
- 並行性と並列性は異なる
- 並行性の度合いを高めても必ず実行が早くなるという訳ではない
- 何より並行性の度合いが高まると理解するのが難しいプログラムができあがる危険性が高くなる
- 並行性を利用した方が良いか確かでない場合は、まずコードを逐次的に書き、並行性を利用した実装とパフォーマンスを比較するベンチマークを作成する
利用すべきタイミング
- 並行に実行される処理に長い時間がかかる場合、独立に実行できる複数の処理の場合に利用する
- 並行性の実現にはコストがかかる
- インメモリ処理(計算・ループなど)は高速なので、並行性を用いた操作を行わない方が良い場合が多い
- 例えば、ネットワークを介した読み書きはインメモリ処理に比べ、ごく一部の例外を除きはるかに遅い。つまり、こういった場合に並行性を利用した操作を実行する