Introducing concurrency
Concurrency means running tasks concurrently. While this might seem like a very abstract definition, let's consider the following real-world example. You wake up in the morning of winter, and you need hot water to bathe. You can only bathe when the water is hot enough. However, you have other morning chores to finish off while the water gets hot. So, you turn on the water heater and then, let's say, you brush your teeth for some time while the water heater indicates the water is hot. Then, you switch off the water heater, enjoy a hot shower, and get ready for the day.
The advantage of concurrency is that you can do multiple things simultaneously that don't have to follow a specific order. So, in this scenario, you don't have to remain idle waiting for the water to get hot; you can finish brushing your teeth in parallel. So, the order the tasks are completed in is not very important.
The term parallel I used previously is being used...