Chapter 14: Race Conditions
In this chapter, we will discuss the concept of race conditions and their potential causes in the context of concurrency. The definition of a critical section, which is a concept highly relevant to race conditions and concurrent programming, will also be covered. We will use some example code in Python to simulate race conditions and the solutions that are commonly used to address them. Finally, real-life applications that commonly deal with race conditions will also be discussed.
In this chapter, we will cover the following topics:
- The concept of race conditions
- Simulating race conditions in Python
- Locks as a solution to race conditions
- Race conditions in real life
This chapter, similar to the previous two chapters, offers a closer look at what could go wrong in concurrent programming and exposes us to a wide range of approaches in terms of how to avoid and prevent that. In this chapter, our focus will be on race conditions...