DEV Community

Cover image for Async, concurrency, and parallelism are different
Khashayar Nourian
Khashayar Nourian

Posted on Originally published at knourian.ir on

Async, concurrency, and parallelism are different

Async, concurrency, and parallelism answer different questions. Async is about avoiding a block while waiting for I/O. Concurrency is about letting independent operations make progress over the same period. Parallelism is about running CPU-bound calculations at the same time on different cores.

Two downloads can overlap without using two CPU cores. Two image-processing jobs can use multiple cores without any network wait. The distinction matters because the right tool depends on where the time goes.

Start with the bottleneck: use async for external waits, concurrency when independent waits can overlap, and parallelism when measurement shows CPU work is the problem. Keep small local work simple.

Top comments (0)