Today in our parallel computing class, we learned about two concepts that people often confuse for one another: parallelism and concurrency. Concurrency is when you deal with a lot of things at once, while parallelism is doing a lot of things at once.
For example, concurrency is when you switch between doing homework and chatting on Facebook with your friends. From your perspective, you’re making progress in both things and it feels like you’re achieving parallelism – doing both things at once. However, the reality is that you’re merely doing concurrency. You do one thing at the cost of not doing another.
Parallelism would be to have two copies of you, one doing homework and one chatting on Facebook at the exact same time. Which is, of course, not possible. And that’s why multitasking is just a myth.