activemq-cpp-3.6.0
decaf::internal::util::concurrent::PlatformThread Class Reference

#include <src/main/decaf/internal/util/concurrent/PlatformThread.h>

Static Public Member Functions

static void createMutex (decaf_mutex_t *mutex)
 Creates a new Mutex instance at the location given by the mutex pointer argument.
static void lockMutex (decaf_mutex_t mutex)
static bool tryLockMutex (decaf_mutex_t mutex)
static void unlockMutex (decaf_mutex_t mutex)
static void destroyMutex (decaf_mutex_t mutex)
static void createRWMutex (decaf_rwmutex_t *mutex)
static void readerLockMutex (decaf_rwmutex_t mutex)
static void writerLockMutex (decaf_rwmutex_t mutex)
static bool tryReaderLockMutex (decaf_rwmutex_t mutex)
static bool tryWriterLockMutex (decaf_rwmutex_t mutex)
static void unlockRWMutex (decaf_rwmutex_t mutex)
static void destroyRWMutex (decaf_rwmutex_t mutex)
static void createCondition (decaf_condition_t *condition)
static void notify (decaf_condition_t condition)
static void notifyAll (decaf_condition_t condition)
static void waitOnCondition (decaf_condition_t condition, decaf_mutex_t mutex)
static bool waitOnCondition (decaf_condition_t condition, decaf_mutex_t mutex, long long mills, int nanos)
static void interruptibleWaitOnCondition (decaf_condition_t condition, decaf_mutex_t mutex, CompletionCondition &complete)
static bool interruptibleWaitOnCondition (decaf_condition_t condition, decaf_mutex_t mutex, long long mills, int nanos, CompletionCondition &complete)
static void destroyCondition (decaf_condition_t condition)
static void initPriorityMapping (int maxPriority, std::vector< int > &mapping)
 Given the Threading libraries max thread priority value, create a mapping to OS level thread priorities and place them in the provided vector.
static void createNewThread (decaf_thread_t *handle, threadMainMethod, void *threadArg, int priority, long long stackSize, long long *threadId)
static void detachThread (decaf_thread_t handle)
static void detachOSThread (decaf_thread_t handle)
static void joinThread (decaf_thread_t handle)
static void exitThread ()
static decaf_thread_t getCurrentThread ()
static decaf_thread_t getSafeOSThreadHandle ()
static long long getCurrentThreadId ()
static int getPriority (decaf_thread_t thread)
static void setPriority (decaf_thread_t thread, int priority)
static long long getStackSize (decaf_thread_t thread)
static void setStackSize (decaf_thread_t thread, long long stackSize)
static void yeild ()
 Pause the current thread allowing another thread to be scheduled for execution, no guarantee that this will happen.
static void createTlsKey (decaf_tls_key *key)
static void destroyTlsKey (decaf_tls_key key)
static void * getTlsValue (decaf_tls_key tlsKey)
static void setTlsValue (decaf_tls_key tlsKey, void *value)

Member Function Documentation

static void decaf::internal::util::concurrent::PlatformThread::createCondition ( decaf_condition_t condition)
static
static void decaf::internal::util::concurrent::PlatformThread::createMutex ( decaf_mutex_t mutex)
static

Creates a new Mutex instance at the location given by the mutex pointer argument.

The mutex must be destroyed by calling the destoryMutex method when it is no longer needed.

Parameters
mutexPointer to a memory location where the new Mutex is to be stored.
static void decaf::internal::util::concurrent::PlatformThread::createNewThread ( decaf_thread_t handle,
threadMainMethod  ,
void *  threadArg,
int  priority,
long long  stackSize,
long long *  threadId 
)
static
static void decaf::internal::util::concurrent::PlatformThread::createRWMutex ( decaf_rwmutex_t mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::createTlsKey ( decaf_tls_key key)
static
static void decaf::internal::util::concurrent::PlatformThread::destroyCondition ( decaf_condition_t  condition)
static
static void decaf::internal::util::concurrent::PlatformThread::destroyMutex ( decaf_mutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::destroyRWMutex ( decaf_rwmutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::destroyTlsKey ( decaf_tls_key  key)
static
static void decaf::internal::util::concurrent::PlatformThread::detachOSThread ( decaf_thread_t  handle)
static
static void decaf::internal::util::concurrent::PlatformThread::detachThread ( decaf_thread_t  handle)
static
static void decaf::internal::util::concurrent::PlatformThread::exitThread ( )
static
static decaf_thread_t decaf::internal::util::concurrent::PlatformThread::getCurrentThread ( )
static
static long long decaf::internal::util::concurrent::PlatformThread::getCurrentThreadId ( )
static
static int decaf::internal::util::concurrent::PlatformThread::getPriority ( decaf_thread_t  thread)
static
static decaf_thread_t decaf::internal::util::concurrent::PlatformThread::getSafeOSThreadHandle ( )
static
static long long decaf::internal::util::concurrent::PlatformThread::getStackSize ( decaf_thread_t  thread)
static
static void* decaf::internal::util::concurrent::PlatformThread::getTlsValue ( decaf_tls_key  tlsKey)
static
static void decaf::internal::util::concurrent::PlatformThread::initPriorityMapping ( int  maxPriority,
std::vector< int > &  mapping 
)
static

Given the Threading libraries max thread priority value, create a mapping to OS level thread priorities and place them in the provided vector.

This mapping will be used by the Threading library to map its values to the OS level values on calls to other methods like createNewThread and setPriority, etc.

Parameters
maxPriorityThe maximum value that the Threading library uses for its priority range.
mappingA vector of int values that will be sized to maxPriority and maps the OS priority values to the Threading libs range of priority values.
static void decaf::internal::util::concurrent::PlatformThread::interruptibleWaitOnCondition ( decaf_condition_t  condition,
decaf_mutex_t  mutex,
CompletionCondition complete 
)
static
static bool decaf::internal::util::concurrent::PlatformThread::interruptibleWaitOnCondition ( decaf_condition_t  condition,
decaf_mutex_t  mutex,
long long  mills,
int  nanos,
CompletionCondition complete 
)
static
Returns
true if the condition wait met the timeout parameters without being signaled.
static void decaf::internal::util::concurrent::PlatformThread::joinThread ( decaf_thread_t  handle)
static
static void decaf::internal::util::concurrent::PlatformThread::lockMutex ( decaf_mutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::notify ( decaf_condition_t  condition)
static
static void decaf::internal::util::concurrent::PlatformThread::notifyAll ( decaf_condition_t  condition)
static
static void decaf::internal::util::concurrent::PlatformThread::readerLockMutex ( decaf_rwmutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::setPriority ( decaf_thread_t  thread,
int  priority 
)
static
static void decaf::internal::util::concurrent::PlatformThread::setStackSize ( decaf_thread_t  thread,
long long  stackSize 
)
static
static void decaf::internal::util::concurrent::PlatformThread::setTlsValue ( decaf_tls_key  tlsKey,
void *  value 
)
static
static bool decaf::internal::util::concurrent::PlatformThread::tryLockMutex ( decaf_mutex_t  mutex)
static
static bool decaf::internal::util::concurrent::PlatformThread::tryReaderLockMutex ( decaf_rwmutex_t  mutex)
static
static bool decaf::internal::util::concurrent::PlatformThread::tryWriterLockMutex ( decaf_rwmutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::unlockMutex ( decaf_mutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::unlockRWMutex ( decaf_rwmutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::waitOnCondition ( decaf_condition_t  condition,
decaf_mutex_t  mutex 
)
static
static bool decaf::internal::util::concurrent::PlatformThread::waitOnCondition ( decaf_condition_t  condition,
decaf_mutex_t  mutex,
long long  mills,
int  nanos 
)
static
Returns
true if the condition wait met the timeout parameters.
static void decaf::internal::util::concurrent::PlatformThread::writerLockMutex ( decaf_rwmutex_t  mutex)
static
static void decaf::internal::util::concurrent::PlatformThread::yeild ( )
static

Pause the current thread allowing another thread to be scheduled for execution, no guarantee that this will happen.


The documentation for this class was generated from the following file: