Concurrency vs Parallelism

Easy Tuts - Sep 30 - - Dev Community

Concurrency:

Think of concurrency like juggling different tasks, but you're only actually handling one at a time. It's all about managing multiple things efficiently.

Example:
Imagine a student doing homework. They have math, science, and English assignments. Instead of finishing one completely before starting the next, they might:

  • Work on math for 10 minutes,
  • Take a break and switch to science for 10 minutes,
  • Then switch to English for 10 minutes.

You're making progress on all three subjects, but you're not literally doing them at the exact same moment. It's like you're bouncing between tasks, keeping them all moving forward.

Parallelism:

Now, parallelism is when you're actually doing multiple things at the exact same time. This usually needs multiple people or machines to pull off.

Example:
Imagine you and your friends are working on a group project:

  • You're writing the intro
  • Your buddy's designing a cool poster
  • Another friend is putting together a presentation
  • And someone else is digging up research

In this case, you're all working on different parts of the project at the same exact moment. That's parallelism in action – multiple tasks happening simultaneously.

. . . . . .