SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
Classes | Macros | Enumerations
Synchronization

Module Description

The Synchronization package includes a group of synchronization classes and a group of helper classes, called guard classes.

For complete information about the Synchronization package, see the Threads Module User's Guide.

Classes

class  RWBarrier
 Synchronizes a number of concurrent threads at a specific point in their processing. More...
 
class  RWCondition
 A condition variable used to delay and reawaken a thread based on program state. More...
 
class  RWCriticalSection
 Provides mutual exclusion for a critical section of code in which only one thread should execute at a time. More...
 
class  RWFIFOMutexLock
 Guarantees that blocking threads acquire the mutex in the same order that they called the acquire() member function. More...
 
class  RWMutexLock
 Implements a mutex, or mutual exclusion lock. More...
 
class  RWNullMutexLock
 Efficient stand-in for a mutual exclusion lock when synchronization is either unnecessary or not important. More...
 
class  RWReadersWriterLock
 A synchronization lock that allows concurrent access to multiple readers, but limits access to a single writer. More...
 
class  RWSemaphore
 A synchronization object that maintains a non-negative counter. More...
 
class  RWSynchObject
 Base class for synchronization classes. More...
 
class  RWTGuardBase< Resource >
 Base class for guard classes. More...
 
struct  RWTHash< RWThreadId >
 Function object for hashing an RWThreadId. More...
 
class  RWThreadId
 A wrapper for platform-specific thread IDs. More...
 
class  RWTLockGuard< Resource >
 A guard that acquires its resource upon creation and releases it upon destruction. More...
 
class  RWTLockGuardBase< Resource >
 Base class for guard classes that acquire their resource upon creation and release it upon destruction. More...
 
class  RWTMonitor< Mutex >
 Supplies the mutual exclusion and guard mechanisms for synchronizing member functions. More...
 
class  RWTReadGuardBase< Resource >
 Base class for guard classes that support read access to a given section of code. More...
 
class  RWTReadLockGuard< Resource >
 A guard class that acquires read access to its resource upon creation and releases it upon destruction. More...
 
class  RWTReadLockGuardBase< Resource >
 Base class for guard classes that acquire read access to a resource upon creation and release it upon destruction. More...
 
class  RWTReadUnlockGuard< Resource >
 A guard class that releases its resource upon creation and acquires read access to its resource upon destruction. More...
 
class  RWTRecursiveLock< Mutex >
 Supports recursive acquisition of a mutex. More...
 
class  RWTTryLockGuard< Resource >
 Guard class that tries to acquire its resource upon creation and release it upon destruction. More...
 
class  RWTTryReadLockGuard< Resource >
 Guard class that tries to acquire read access on its resource upon creation and release it upon destruction. More...
 
class  RWTTryWriteLockGuard< Resource >
 Guard class that tries to acquire write access on its resource upon creation and release it upon destruction. More...
 
class  RWTUnlockGuard< Resource >
 Guard class that releases its resource upon creation and acquires it upon destruction. More...
 
class  RWTWriteGuardBase< Resource >
 A base class for guard classes that support write access to a given section of code. More...
 
class  RWTWriteLockGuard< Resource >
 A guard class that acquires write access to its resource upon creation and releases it upon destruction. More...
 
class  RWTWriteLockGuardBase< Resource >
 A base class for guard classes that acquire write access to a resource upon creation and release it upon destruction. More...
 
class  RWTWriteUnlockGuard< Resource >
 A guard class that releases its resource upon creation and acquires read access to its resource upon destruction. More...
 

Macros

#define RW_SYNC_MUTEX_USES_CRITICAL_SECTION
 
#define RW_THR_HAS_TIMED_MUTEX_ACQUIRE
 

Enumerations

enum  RWWaitStatus {
  RW_THR_TIMEOUT, RW_THR_SIGNALED, RW_THR_ACQUIRED, RW_THR_COMPLETED,
  RW_THR_ABORTED
}
 

Macro Definition Documentation

#define RW_SYNC_MUTEX_USES_CRITICAL_SECTION

Users can define this macro as part of their build configuration to use a critical section as the implementation for RWMutexLock.

Note
This option affects only build configurations on Windows platforms.
#define RW_THR_HAS_TIMED_MUTEX_ACQUIRE

This macro is defined if the underlying implementation used by RWMutexLock supports timed acquire. For platforms without true timed-acquisition support, RW_THR_TIMEOUT is returned if the mutex cannot be acquired immediately.

Enumeration Type Documentation

Defines the status return values for calls that accept a time-out value.

Enumerator
RW_THR_TIMEOUT 

The operation timed-out before completion

RW_THR_SIGNALED 

The calling thread was signaled by another thread

RW_THR_ACQUIRED 

The calling thread acquired the resource

RW_THR_COMPLETED 

The operation completed

RW_THR_ABORTED 

The operation was aborted

Copyright © 2016 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.