Search on the blog

2017年7月9日日曜日

並行と並列の違い

並行(concurrent)処理とは、複数のタスクを非同期で同時に実行すること。
並列(parallel)処理とは、複数のCPUを使って複数のタスクを同時に実行すること。

つまり、並行の方が広い概念で、並列処理は並行処理の一種。

並行処理にはいくつかの実現方法が考えられるが、複数のCPUを使って物理的に同時に複数の命令を走らせているものを並列処理と呼ぶ。

ということで、場面によって使い分けた方がいいかもしれない。

  • 複数のサーバを立てて並列処理をする
  • マルチコアCPUで並列処理をする
  • シングルコアマシン上でマルチスレッドを使って並行処理をする
  • コルーチンで並行処理をする
並行の方が広い概念なので、並行処理と言っておけば間違いは少なそうだが、物理的に同時に実行するということを強調したい場合は並列と言った方がいいかもしれない。

並列処理

並列ではない並行処理


0 件のコメント:

コメントを投稿