Real world analogies to understanding Concurrency versus Parallelism

People lined up at an ATM waiting for their turn without being able to do anything else is a classic example of a serial flow.
People lined up at an cashier counter waiting for their turn without being able to do anything else until they are served is a classic example of a serial flow.
Consumer needs addressed intermittently getting served by just one server. That is concurrency but without parallelism.
What system designers often miss about what will happen when they design parallel systems. Here certain counters with long queues bear the brunt of the load whereas other counters can be free.
When regardless of the number of servers, you have just too many consumers. Typically happens when you are trying to recover from an outage or a if its a blue moon day / black swan event / Bloody Sunday / whatever fancy term comes to mind.
Nearly free boarding counters at the airport when at no load. But counter space still needs to be paid for. viz. during the early days of the pandemic.
  1. One rest room for many people
  2. Patients waiting in a clinic with a single doctor.
  3. Any government clearing window.
  1. Triaging nurse periodically replacing IV for all patients one by one in the medical ward
  2. A chess GM playing many opponents at the same time
  3. An enquiry front desk helping multiple customers fill up their forms
  4. A teacher trying to manage 2 classes of students at the same time by giving short assignments
  5. A relation ship manager for multiple customers
  6. A single cpu system allowing more than one program to run eg. Lotus123 and Word at the same time.
  7. A cook making a three course meal like rice, vegetable and curry at the same time.
  8. One waiter serving many diners in a small restaurant
  9. A common printer that allows multiple employees to print documents
  1. Multiple fast tag lanes on a toll Highway
  2. Multiple cooks preparing multiple dishes at the same time.
  3. Multiple valets at a car park
  1. https://www.baeldung.com/cs/concurrency-vs-parallelism
  2. https://www.thecrazyprogrammer.com/2021/02/concurrency-vs-parallelism.html
  3. https://www.tutorialspoint.com/difference-between-concurrency-and-parallelism
  4. https://stackoverflow.com/questions/14130266/is-there-a-difference-between-concurrency-and-parallelism-in-java
  5. https://stackoverflow.com/questions/72270177/about-multithreading-concurrency-and-parallelism

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rohit Talukdar

Rohit Talukdar

Just another guy striving to say hello to the world.