Atomic types
All atomic types defined by the standard library can be found in the <atomic> header library. The system guarantees the atomicity to these types and all the related operations with these types. Some operations may not be atomic, but the system creates the illusion of atomicity in such cases. The standard atomic types use a member function, is_lock_free(), that allows the user to determine whether operations on a given type are done directly with atomic instructions (is_lock_free() returns true) or done using internal locks by the compiler and library (is_lock_free() returns false).
std::atomic_flag is different among all atomic types. The operations on this type are required to be atomic as per the standard. Hence, this doesn't ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access