Library: Foundation
Package: Threading
Header: Poco/RWLock.h
Description
A reader writer lock allows multiple concurrent readers or one exclusive writer.
Inheritance
Direct Base Classes: RWLockImpl
All Base Classes: RWLockImpl
Member Summary
Member Functions: readLock, tryReadLock, tryWriteLock, unlock, writeLock
Types Aliases
ScopedLock
using ScopedLock = ScopedRWLock;
ScopedReadLock
using ScopedReadLock = ScopedReadRWLock;
ScopedWriteLock
using ScopedWriteLock = ScopedWriteRWLock;
Constructors
RWLock
RWLock();
Creates the Reader/Writer lock.
Destructor
~RWLock
~RWLock();
Destroys the Reader/Writer lock.
Member Functions
readLock
void readLock();
Acquires a read lock. If another thread currently holds a write lock, waits until the write lock is released.
tryReadLock
bool tryReadLock();
Tries to acquire a read lock. Immediately returns true if successful, or false if another thread currently holds a write lock.
tryWriteLock
bool tryWriteLock();
Tries to acquire a write lock. Immediately returns true if successful, or false if one or more other threads currently hold locks. The result is undefined if the same thread already holds a read or write lock.
unlock
void unlock();
Releases the read or write lock.
writeLock
void writeLock();
Acquires a write lock. If one or more other threads currently hold locks, waits until all locks are released. The results are undefined if the same thread already holds a read or write lock