include/corelib/ncbimtx.hpp File Reference


Detailed Description

Multi-threading -- mutexes; rw-locks; semaphore.

MUTEX:

MUTEX CLASSES:

RW-LOCK:

SEMAPHORE:

Definition in file ncbimtx.hpp.

#include <corelib/ncbithr_conf.hpp>
#include <corelib/ncbicntr.hpp>
#include <corelib/guard.hpp>
#include <corelib/ncbiobj.hpp>
#include <memory>
#include <deque>
#include <corelib/ncbimtx.inl>

Include dependency graph for ncbimtx.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CThreadSystemID
 CThreadSystemID --. More...
class  CMutexException
 CMutexException --. More...
struct  SSystemFastMutex
 SSystemFastMutex --. More...
struct  SSystemMutex
 SSystemMutex --. More...
class  CAutoInitializeStaticFastMutex
 CAutoInitializeStaticFastMutex --. More...
class  CAutoInitializeStaticMutex
 CAutoInitializeStaticMutex --. More...
class  CFastMutex
 CFastMutex --. More...
class  CMutex
 CMutex --. More...
class  CSpinLock
 CSpinLock --. More...
struct  SSimpleReadLock< Class >
 SSimpleReadLock --. More...
struct  SSimpleWriteLock< Class >
 SSimpleWriteLock --. More...
class  CRWLock
 CRWLock --. More...
struct  SSimpleReadUnlock< Class >
 SSimpleReadUnlock --. More...
struct  SSimpleWriteUnlock< Class >
 SSimpleWriteUnlock --. More...
class  CFastRWLock
 CFastRWLock --. More...
class  IRWLockHolder_Listener
 Interface for receiving messages about state changes in CRWLockHolder. More...
class  IRWLockHolder_Factory
 Interface for factory creating CRWLockHolder objects. More...
class  CRWLockHolder
 Holder of the lock inside CYieldingRWLock. More...
class  CYieldingRWLock
 Read/write lock without blocking calls. More...
class  CSemaphore
 CSemaphore --. More...

Defines

#define INTERNAL_MUTEX_DEBUG
 Mutex debug setting.
#define WRITE_MUTEX_EVENT(mutex, message)   ((void)0)
#define THREAD_SYSTEM_ID_INITIALIZER   { 0 }
 Use in defining initial value of system mutex.
#define NEED_AUTO_INITIALIZE_MUTEX
 Auto initialization for mutex will be used.
#define DEFINE_STATIC_FAST_MUTEX(id)   static NCBI_NS_NCBI::CAutoInitializeStaticFastMutex id
 Define auto-initialized static fast mutex.
#define DECLARE_CLASS_STATIC_FAST_MUTEX(id)   static NCBI_NS_NCBI::CAutoInitializeStaticFastMutex id
 Declare auto-initialized static fast mutex.
#define DEFINE_CLASS_STATIC_FAST_MUTEX(id)   NCBI_NS_NCBI::CAutoInitializeStaticFastMutex id
 Define auto-initialized mutex.
#define DEFINE_STATIC_MUTEX(id)   static NCBI_NS_NCBI::CAutoInitializeStaticMutex id
 Define auto-initialized static mutex.
#define DECLARE_CLASS_STATIC_MUTEX(id)   static NCBI_NS_NCBI::CAutoInitializeStaticMutex id
 Declare auto-initialized static mutex.
#define DEFINE_CLASS_STATIC_MUTEX(id)   NCBI_NS_NCBI::CAutoInitializeStaticMutex id
 Define auto-initialized mutex.

Typedefs

typedef CGuard< SSystemFastMutexTFastMutexGuard
 typedefs for ease of use
typedef TFastMutexGuard CFastMutexGuard
 ...and backward compatibility
typedef CGuard< SSystemMutexTMutexGuard
 typedefs for ease of use
typedef TMutexGuard CMutexGuard
 ...and backward compatibility
typedef CNoLock CNoMutex
 CNoMutex --.
typedef CGuard< CSpinLockCSpinGuard
typedef CGuard< CRWLock, SSimpleReadLock<
CRWLock > > 
TReadLockGuard
typedef TReadLockGuard CReadLockGuard
typedef CGuard< CRWLock, SSimpleWriteLock<
CRWLock > > 
TWriteLockGuard
typedef TWriteLockGuard CWriteLockGuard
typedef CGuard< CFastRWLock,
SSimpleReadLock< CFastRWLock >,
SSimpleReadUnlock< CFastRWLock > > 
CFastReadGuard
typedef CGuard< CFastRWLock,
SSimpleWriteLock< CFastRWLock >,
SSimpleWriteUnlock< CFastRWLock > > 
CFastWriteGuard
typedef CIRef< IRWLockHolder_ListenerTRWLockHolder_ListenerRef
 Types of smart references to IRWLockHolder_Listener.
typedef CWeakIRef< IRWLockHolder_ListenerTRWLockHolder_ListenerWeakRef
typedef CRef< CRWLockHolderTRWLockHolderRef
 Type that should be always used to store pointers to CRWLockHolder.

Enumerations

enum  ERWLockType { eReadLock = 0, eWriteLock = 1 }
 Type of locking provided by CYieldingRWLock. More...


Generated on Sun Dec 6 23:31:08 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:21:19 2009 by modify_doxy.py rev. 173732