24 #ifndef _CORE_THREADING_READ_WRITE_LOCK_H_
25 #define _CORE_THREADING_READ_WRITE_LOCK_H_
29 class ReadWriteLockData;
71 ReadWriteLockData *rwlock_data;
Read/write lock to allow multiple readers but only a single writer on the resource at a time.
bool try_lock_for_read()
Tries to aquire a reader lock.
void unlock()
Release the lock.
ReadWriteLockPolicy
The policy to use for the read/write lock.
@ RWLockPolicyPreferWriter
Prefer writers over readers.
@ RWLockPolicyPreferReader
Prefer readers over writers.
void lock_for_read()
Aquire a reader lock.
void lock_for_write()
Aquire a writer lock.
ReadWriteLock(ReadWriteLockPolicy policy=RWLockPolicyPreferWriter)
Constructor.
bool try_lock_for_write()
Tries to aquire a writer lock.
virtual ~ReadWriteLock()
Destructor.
Fawkes library namespace.