Synchronous vs Asynchronous vs Concurrent vs Parallel

What is the difference and why does it matter?

Martin Thoma
Plain and Simple

--

Photo by Edurne Chopeitia on Unsplash

We developers like to throw around terms that feel natural to us, but are technical terms that most non-developers don’t use in the same way. This article is aimed at all the poor souls who have to deal with us, e.g. product managers, product owners, scrum masters, business people.

After reading this article, you will understand the difference between synchronous vs asynchronous vs concurrent vs parallel. Let’s start!

Speeding up Execution

If you want a program or website to feel faster, you have various options:

  • Better machines: Buy new hardware
  • Do less: Reduce the scope, simplify the business
  • Do the things more efficiently: Better algorithms
  • Do things in parallel: Make use of multiple CPU cores instead of just one
  • Avoid waiting times

Especially the last point is interesting. Think about baking a cake. My oven takes about 15 minutes until it is at 200°C. It takes me about 25 minutes to prepare the cake and it needs to stay for 20 minutes in the oven. How long does it take to make the cake?

--

--

Martin Thoma
Plain and Simple

I’m a Software Engineer with over 10 years of Python experience (Backend/ML/AI). Support me via https://martinthoma.medium.com/membership