tango.core.sync.Atomic

The Atomic module is intended to provide some basic support for the so called lock-free concurrent programming. The current design replaces the previous Atomic module by Sean and is inspired partly by the llvm atomic operations, and Sean's version
If no atomic ops are available an (inefficent) fallback solution is provided For classes atomic access means atomic access to their *address* not their content

If you want unique counters or flags to communicate in multithreading settings look at tango.core.sync.Counter that provides them in a better way and handles better the absence of atomic ops.

License:

BSD style: see license.txt

Author:

Fawzi Mohamed
void writeBarrier()
Utility function for a write barrier (disallow store and store reorderig.)
void readBarrier()
Utility function for a read barrier (disallow load and load reorderig.)
void fullBarrier()
Utility function for a full barrier (disallow reorderig.)