Technical requirements
You will need a recent C++ compiler with C++20 support. Some short code examples will be provided as links to the very useful godbolt website (https://godbolt.org). For full code examples, we will use the book repo, which is available at https://github.com/PacktPublishing/Asynchronous-Programming-with-CPP.
The examples can be compiled and run locally. We have tested the code on an Intel CPU computer running Linux (Ubuntu 24.04 LTS). For atomic operations and especially for memory ordering (more on this later in this chapter), Intel CPUs are different from Arm CPUs.
Please note here that code performance and profiling will be the subject of Chapter 13. We will just make some remarks on performance in this chapter to avoid making it unnecessarily long.