![]() |
Public API Reference |
![]() |
Functions and classes for threading, locking and atomic operations. More...
Classes | |
class | AtomicOperationsBase |
Define low-level atomic operations. More... | |
class | Barrier |
Barrier synchronization class. More... | |
class | Condition |
Condition variable. More... | |
class | MutexImpl |
General mutex class. More... | |
class | OptionalMutex |
Helper that is a (non-recursive) mutex if _Lock is true or does nothing if _Lock is false . More... | |
class | ReadWriteMutex |
A mutex class which provides concurrent reads and exclusive writes. More... | |
class | Runnable |
Abstract base class for objects acting as executor in separate threads. More... | |
class | ScopedLock |
This is a utility class for locking a Mutex. More... | |
class | Thread |
Object representing a separate execution thread. More... | |
class | ThreadGroup |
A group of threads handled as one unit. More... | |
class | ThreadLocal |
Thread local storage of arbitrary C++ objects. More... | |
class | ThreadLocalBase |
Thread local storage of a pointer value (void*). More... | |
Typedefs | |
typedef MutexImpl < Implementation::MutexBase > | Mutex |
Basic non-recursive mutex. | |
typedef MutexImpl < Implementation::RecursiveMutexBase > | RecursiveMutex |
Basic recursive mutex. | |
typedef uintptr_t | ThreadID |
OS specific thread identifier. | |
Enumerations | |
enum | ThreadPriority { THREAD_PRIO_LOW = 0, THREAD_PRIO_NORMAL = 1, THREAD_PRIO_HIGH = 2 } |
Priority values indicate how frequently a thread runs compared to other threads. More... |
Functions and classes for threading, locking and atomic operations.
typedef MutexImpl<Implementation::MutexBase> CS::Threading::Mutex |
typedef MutexImpl<Implementation::RecursiveMutexBase> CS::Threading::RecursiveMutex |
typedef uintptr_t CS::Threading::ThreadID |
Priority values indicate how frequently a thread runs compared to other threads.
Thread scheduling is handled by the underlying OS, and so the true meaning of these values will vary depending on platform. A minimal set of values is defined for CS so that chances of support of the full range of values by the platform are greater.