The Contract

This lesson goes over the three levels of contracts in modern C++.

We'll cover the following...

The foundation of multithreading is a well-defined memory model. From the reader’s perspective, it consists of two aspects. First, there is the enormous complexity of it, which often contradicts our intuition. Second, it helps to get a deeper insight into the multithreading challenges. In the first approach, we want to give you a mental model. That being said, the C++ memory model defines a contract.

The Contract

This contract exists between the programmer and the system. The system consists of the compiler that generates machine code and the processor that executes the machine code. The system includes the different caches that store the state of the program. ...