SourcePro® API Reference Guide

Product Documentation:
   SourcePro
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 © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.