Concurrency vs Parallelism

    Task 1

      Task 2

      1

      Neither Concurrent Nor Parallel

      concurrent

      parallel

      Tasks run one after another on a single core, with no overlap.

      cpu

      T1

      T2

      2

      Concurrent, Not Parallel

      concurrent

      parallel

      One core switches rapidly between tasks, so both make progress together.

      cpu

      T1

      T2

      T1

      T2

      T1

      T2

      T1

      T2

      3

      Parallel, Not Concurrent

      concurrent

      parallel

      One task is split into subtasks that run at the same time on separate cores.

      cpu

      T1

      T2

      cpu

      T1

      T2

      4

      Concurrent and Parallel

      concurrent

      parallel

      Both tasks progress at once, each split into subtasks across cores.

      cpu

      T1

      T2

      T1

      T2

      cpu

      T2

      T1

      T2

      T1