Qore Programming Language Reference Manual  0.9.4.5
QC_RWLock.dox.h
1 namespace Qore {
4 namespace Thread {
6 
40 class RWLock : public AbstractSmartLock {
41 
42 public:
44 
50 
51 public:
53 
58  copy();
59 
60 public:
62 
72 
73 public:
75 
86 
87 public:
89 
100 
101 public:
103 
114 bool lockOwner();
115 
116 public:
118 
129 
130 public:
132 
140 nothing readLock();
141 
142 public:
144 
159 int readLock(timeout timeout_ms);
160 
161 public:
163 
175 
176 public:
178 
185 nothing readUnlock();
186 
187 public:
189 
200 
201 public:
203 
213 
214 public:
216 
231 int writeLock(timeout timeout_ms);
232 
233 public:
235 
243 nothing writeLock();
244 
245 public:
247 
259 
260 public:
262 
269 nothing writeUnlock();
270 };
271 }
272 }
Qore::Thread::RWLock
The RWLock class implements a read-write thread lock.
Definition: QC_RWLock.dox.h:40
Qore::Thread::RWLock::constructor
constructor()
Creates the RWLock object.
Qore::Thread::RWLock::writeLock
nothing writeLock()
Acquires the write lock; blocks if the read lock is already acquired by another thread.
Qore::Thread::RWLock::lockOwner
bool lockOwner()
Returns True if the current thread is holding either the read lock or the write lock,...
Qore::Thread::RWLock::tryReadLock
int tryReadLock()
Acquires the read lock only if it can be acquired immediately.
Qore::Thread::RWLock::writeUnlock
nothing writeUnlock()
Releases the write lock, if any readers are waiting, wakes up all readers, otherwise if any writers a...
Qore::Thread::RWLock::copy
copy()
Creates a new RWLock object, not based on the original.
Qore::Thread::RWLock::readLock
int readLock(timeout timeout_ms)
Acquires the read lock with a timeout value; blocks if the write lock is already acquired by another ...
Qore::Thread::RWLock::readLock
nothing readLock()
Acquires the read lock; blocks if the write lock is already acquired by another thread.
Qore::Thread::RWLock::writeLockOwner
bool writeLockOwner()
Returns True if the current thread is holding the write lock, False if not.
Qore::Thread::RWLock::readUnlock
nothing readUnlock()
Decrements the read lock counter and releases the read lock if the counter is zero....
Qore::Thread::RWLock::tryWriteLock
int tryWriteLock()
Acquires the write lock only if it can be acquired immediately.
Qore::Thread::RWLock::readLockOwner
bool readLockOwner()
Returns True if the current thread is holding the read lock, False if not.
Qore::Thread::AbstractSmartLock
The abstract base class for locks that support the internal API for use with the Condition class.
Definition: QC_AbstractSmartLock.dox.h:15
Qore::Thread::RWLock::numReaders
int numReaders()
Returns the read lock count.
Qore::Thread::RWLock::writeLock
int writeLock(timeout timeout_ms)
Acquires the write lock with a timeout value; blocks if the read lock is already acquired by another ...
Qore::Thread::RWLock::destructor
destructor()
Destroys the RWLock object.
Qore::Thread::RWLock::getReadWaiting
int getReadWaiting()
Returns the number of threads waiting on the read lock.
Qore::Thread::RWLock::getWriteWaiting
int getWriteWaiting()
Returns the number of threads waiting on the write lock.
Qore
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:3