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.