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.
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.)