In this article we are going to learn what is concurrency in computer systems. To understand it better, we’ll see what are the problems that occur when there is concurrency and what are some ways to prevent those problems.
What is concurrency?
Concurrency referes to the ability of a computer system to do different things at the same time.
We see concurrency in action in our computers when there are multiple programs executing at the same time. We can be playing some music in our computer and at the same time browsing the internet, for example.
At a high level, there are two ways of doing concurrency:
- Time slicing
- Parallel execution
For hardware that supports parallel execution, time slicing can be done on top of it.