April 2020
Intermediate to advanced
412 pages
9h 58m
English
The C++11 standard introduced a memory model that clearly defines the behavior of a C++ program in a multithreaded environment.
For the C language specifications, the memory model was out of scope. The language itself was not aware of threads or parallel execution semantics. It was up to the third-party libraries, such as pthreads, to provide all the necessary support for multithread applications.
Earlier versions of C++ followed the same principle. Multithreading was out of the scope of the language specification. However, modern CPUs with multiple pipelines supporting instruction reordering demanded more deterministic behavior of compilers.
As a result, modern specifications ...
Read now
Unlock full access