Before we talk about the multithreading, we should have a basic understanding about multitasking. which means the programs execute at what seems like the same time.
Actually, a CPU will assign a slice of time to each program, giving you the impression of parallel activity.
Multithreading holds the same principal as multitasking. Individual programs will appear to do multiple task at the same time, each task usually is called thread.
Each thread within an application will execute a bit of time and then switches to another.

<aside> 💡 Here is an introduction video about concurrency in java. Very helpful
</aside>
https://www.youtube.com/watch?v=mTGdtC9f4EU&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4&index=1
<div STYLE="page-break-after: always;"></div>


