Atomic operations library

< cpp
Revision as of 18:11, 2 November 2012 by P12bot (Talk | contribs)

The atomic library provides components for fine-grained atomic operations allowing for lockless concurrent programming. Each atomic operation is indivisible with regards to any other atomic operation that involves the same object. Atomic objects are the only C++ objects free of data races; that is, if one thread writes to an atomic while another thread reads from it, the behavior is well-defined.

Template:cpp/atomic/dcl list atomicTemplate:cpp/atomic/dcl list atomic is lock freeTemplate:cpp/atomic/dcl list atomic storeTemplate:cpp/atomic/dcl list atomic loadTemplate:cpp/atomic/dcl list atomic exchangeTemplate:cpp/atomic/dcl list atomic compare exchangeTemplate:cpp/atomic/dcl list atomic fetch addTemplate:cpp/atomic/dcl list atomic fetch subTemplate:cpp/atomic/dcl list atomic fetch andTemplate:cpp/atomic/dcl list atomic fetch orTemplate:cpp/atomic/dcl list atomic fetch xorTemplate:cpp/atomic/dcl list atomic flagTemplate:cpp/atomic/dcl list atomic flag test and setTemplate:cpp/atomic/dcl list atomic flag clearTemplate:cpp/atomic/dcl list atomic initTemplate:cpp/atomic/dcl list ATOMIC VAR INITTemplate:cpp/atomic/dcl list ATOMIC FLAG INITTemplate:cpp/atomic/dcl list memory orderTemplate:cpp/atomic/dcl list kill dependencyTemplate:cpp/atomic/dcl list atomic thread fenceTemplate:cpp/atomic/dcl list atomic signal fence
Defined in header <atomic>


Atomic types
Operations on atomic types
Flag type and operations
Memory synchronization ordering