Concurrency and parallelism are two concepts that are commonly confused. The reality, though, is that they are quite different, and if you designed software to be concurrent when instead you needed parallel execution, then you could be seriously impacting your software's true performance potential.
Due to this, it's vital to know exactly what the two concepts mean so that you can understand the differences. Through knowing these differences, you'll be putting yourself at a distinct advantage when it comes to designing your own high performance software in Python.
In this chapter, we'll be covering the following topics:
- What is concurrency and what are the major bottlenecks that impact our applications
- What is parallelism and how does this differ from concurrency
- The different styles of computer system architecture and how we can utilize these...