concurrencyは多くのことを一度にさばくこと、parallelismは多くのことを一度に行うことです。 concurrencyは、複数のタスクがインターリーブによって進行するようにプログラムを構造化する方法であり、parallelismは実際にそれらを複数のコアで同時に実行することです。
仕組み
単一のCPUコアはconcurrentにはなれますが、parallelにはなれません。タスク間を高速に切り替えるため、任意の瞬間には1つしか動いていなくても、時間的には重なり合います。parallelismには、同じ瞬間に命令を実行する複数のコアが必要です。
text
Concurrency (1 core, interleaved): A--B--A--B--A--B
Parallelism (2 cores, simultaneous): A--A--A--A
B--B--B--B
