Qore Programming Language Reference Manual 0.8.8

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

All Classes Namespaces Functions Variables Groups Pages
QC_RWLock.dox.h
1 namespace Qore::Thread {
4
31 class RWLock : public AbstractSmartLock {
32
33 public:
35
40 constructor();
41
42 public:
44
49 copy();
50
51 public:
53
62 destructor();
63
64 public:
66
76 int getReadWaiting();
77
78 public:
80
90 int getWriteWaiting();
91
92 public:
94
105 bool lockOwner();
106
107 public:
109
119 int numReaders();
120
121 public:
123
131 nothing readLock();
132
133 public:
135
150 int readLock(timeout timeout_ms);
151
152 public:
154
165 bool readLockOwner();
166
167 public:
169
176 nothing readUnlock();
177
178 public:
180
189 int tryReadLock();
190
191 public:
193
201 int tryWriteLock();
202
203 public:
205
220 int writeLock(timeout timeout_ms);
221
222 public:
224
232 nothing writeLock();
233
234 public:
236
247 bool writeLockOwner();
248
249 public:
251
258 nothing writeUnlock();
259 };
260 };
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:13
Qore::Thread::RWLock::writeLock
nothing writeLock()
Acquires the write lock; blocks if the read lock is already acquired by another thread.
Qore::Thread::RWLock::getReadWaiting
int getReadWaiting()
Returns the number of threads waiting on the read lock.
Qore::Thread::RWLock::writeLockOwner
bool writeLockOwner()
Returns True if the current thread is holding the write lock, False if not.
Qore::Thread::RWLock::readLockOwner
bool readLockOwner()
Returns True if the current thread is holding the read lock, False if not.
Qore::Thread::RWLock::tryWriteLock
int tryWriteLock()
Acquires the write lock only if it can be acquired immediately.
Qore::Thread::RWLock::destructor
destructor()
Destroys the RWLock object.
Qore::Thread::RWLock::constructor
constructor()
Creates the RWLock object.
Qore::Thread::RWLock::readUnlock
nothing readUnlock()
Decrements the read lock counter and releases the read lock if the counter is zero. If at least one thread is blocked trying to acquire the write lock and the read counter reaches zero, then one thread waiting on the write lock is woken up.
Qore::Thread::RWLock::readLock
nothing readLock()
Acquires the read lock; blocks if the write lock is already acquired by another thread.
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::getWriteWaiting
int getWriteWaiting()
Returns the number of threads waiting on the write lock.
Qore::Thread::RWLock::lockOwner
bool lockOwner()
Returns True if the current thread is holding either the read lock or the write lock, False if not.
Qore::Thread::RWLock
The RWLock class implements a read-write thread lock.
Definition: QC_RWLock.dox.h:31
Qore::Thread::RWLock::tryReadLock
int tryReadLock()
Acquires the read lock only if it can be acquired immediately.
Qore::Thread::RWLock::numReaders
int numReaders()
Returns the read lock count.