18 #ifndef _DECAF_UTIL_CONCURRENT_LOCKS_REENTRANTREADWRITELOCK_H_ 19 #define _DECAF_UTIL_CONCURRENT_LOCKS_REENTRANTREADWRITELOCK_H_ 29 namespace concurrent {
32 class ReentrantReadWriteLockImpl;
41 ReentrantReadWriteLockImpl* impl;
90 int getReadLockCount()
const;
98 bool isWriteLocked()
const;
105 bool isWriteLockedByCurrentThread()
const;
115 int getWriteHoldCount()
const;
125 int getReadHoldCount()
const;
142 bool hasWaiters(
Condition* condition)
const;
156 int getWaitQueueLength(
Condition* condition)
const;
166 std::string toString()
const;
176 bool hasQueuedThreads()
const;
202 int getQueueLength()
const;
The root interface in the collection hierarchy.
Definition: Collection.h:68
Condition factors out the Mutex monitor methods (wait, notify and notifyAll) into distinct objects to...
Definition: Condition.h:132
A ReadWriteLock maintains a pair of associated locks, one for read-only operations and one for writin...
Definition: ReadWriteLock.h:90
A Thread is a concurrent unit of execution.
Definition: Thread.h:64
#define DECAF_API
Definition: Config.h:29
Definition: ReentrantReadWriteLock.h:38
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25
Lock implementations provide more extensive locking operations than can be obtained using synchronize...
Definition: Lock.h:99