ucommon  7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc..
  Fossies Dox: ucommon-7.0.0.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

condition.h File Reference
#include <ucommon/cpr.h>
#include <ucommon/access.h>
#include <ucommon/timers.h>
#include <ucommon/memory.h>
Include dependency graph for condition.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  ucommon::ConditionMutex
class  ucommon::ConditionMutex::autolock
class  ucommon::ConditionVar
class  ucommon::Conditional
class  ucommon::Conditional::attribute
class  ucommon::ConditionalAccess
class  ucommon::ConditionalLock
class  ucommon::ConditionalLock::Context
class  ucommon::Barrier
class  ucommon::Semaphore




typedef ConditionalLock ucommon::condlock_t
typedef ConditionalAccess ucommon::accesslock_t
typedef Semaphore ucommon::semaphore_t
typedef Barrier ucommon::barrier_t

Detailed Description

Condition classes for thread sychronization and timing. The theory behind ucommon sychronization objects is that all upper level sychronization objects can be formed directly from a mutex and conditional. This includes semaphores, barriers, rwlock, our own specialized conditional lock, resource-bound locking, and recursive exclusive locks. Using only conditionals means we are not dependent on platform specific pthread implementations that may not implement some of these, and hence improves portability and consistency. Given that our rwlocks are recursive access locks, one can safely create read/write threading pairs where the read threads need not worry about deadlocks and the writers need not either if they only write-lock one instance at a time to change state.

Definition in file condition.h.