Evo C++ Library v0.5.1
|
#include <evo/thread.h>
Spin-lock for thread synchronization.
Public Types | |
typedef SmartLock< AtomicFlag > | Lock |
Lock object type – see SmartLock. More... | |
typedef SmartSleepLock< AtomicFlag > | SleepLock |
Sleep-Lock object type – see SmartSleepLock. More... | |
Public Member Functions | |
SpinLock () | |
Constructor. More... | |
void | clear (MemOrder mem_order=std::memory_order_seq_cst) |
Clear flag (set to false). More... | |
void | lock () |
Spin-lock flag. More... | |
void | sleeplock (ulong ms=1) |
Spin-lock flag with a sleep. More... | |
bool | test_and_set (MemOrder mem_order=std::memory_order_seq_cst) |
Atomically set flag (to true) and return the previous value. More... | |
void | unlock () |
Spin-unlock flag. More... | |
typedef SmartLock<AtomicFlag> Lock |
Lock object type – see SmartLock.
typedef SmartSleepLock<AtomicFlag> SleepLock |
Sleep-Lock object type – see SmartSleepLock.
|
inline |
Constructor.