A Read-Write lock that allows multiple concurrent readers but only one writer. More...
#include <Threading.h>
Public Member Functions | |
RWLock (const RWLock &)=delete | |
RWLock (RWLock &&)=delete | |
RWLock & | operator= (const RWLock &)=delete |
RWLock & | operator= (RWLock &&)=delete |
void | lockRead () |
Acquire a read lock. Multiple readers can hold the lock concurrently. | |
void | unlockRead () |
Release a previously acquired read lock. | |
void | lockWrite () |
Acquire a write lock. Only one writer can hold the lock, and no readers can hold it simultaneously. | |
void | unlockWrite () |
Release a previously acquired write lock. | |
A Read-Write lock that allows multiple concurrent readers but only one writer.
Example:
void SC::RWLock::lockRead | ( | ) |
Acquire a read lock. Multiple readers can hold the lock concurrently.
void SC::RWLock::lockWrite | ( | ) |
Acquire a write lock. Only one writer can hold the lock, and no readers can hold it simultaneously.
void SC::RWLock::unlockRead | ( | ) |
Release a previously acquired read lock.
void SC::RWLock::unlockWrite | ( | ) |
Release a previously acquired write lock.