18 #ifndef _DECAF_UTIL_CONCURRENT_LOCKS_ABSTRACTQUEUEDSYNCHRONIZER_H_ 19 #define _DECAF_UTIL_CONCURRENT_LOCKS_ABSTRACTQUEUEDSYNCHRONIZER_H_ 30 namespace concurrent {
33 class SynchronizerState;
38 SynchronizerState* impl;
85 virtual bool hasWaiters()
const = 0;
93 virtual int getWaitQueueLength()
const = 0;
116 void acquire(
int arg);
126 void acquireShared(
int arg);
139 void acquireInterruptibly(
int arg);
151 void acquireSharedInterruptibly(
int arg);
195 int getQueueLength()
const;
227 bool hasContended()
const;
232 bool hasQueuedThreads()
const;
274 bool release(
int arg);
286 bool releaseShared(
int arg);
296 std::string toString()
const;
312 bool tryAcquireNanos(
int arg,
long long nanos);
328 bool tryAcquireSharedNanos(
int arg,
long long nanos);
337 virtual int getState()
const;
345 virtual void setState(
int value);
358 virtual bool compareAndSetState(
int expect,
int update);
369 virtual bool isHeldExclusively()
const;
390 virtual bool tryAcquire(
int arg);
413 virtual int tryAcquireShared(
int arg);
430 virtual bool tryRelease(
int arg);
447 virtual bool tryReleaseShared(
int arg);
490 bool hasQueuedPredecessors()
const;
492 friend class SynchronizerState;
The root interface in the collection hierarchy.
Definition: Collection.h:68
Definition: AbstractQueuedSynchronizer.h:35
Condition object for this Synchronizer, which serves as the basis for other Lock objects.
Definition: AbstractQueuedSynchronizer.h:55
virtual ~ConditionObject()
Definition: AbstractQueuedSynchronizer.h:68
Condition factors out the Mutex monitor methods (wait, notify and notifyAll) into distinct objects to...
Definition: Condition.h:132
ConditionObject()
Definition: AbstractQueuedSynchronizer.h:67
A Thread is a concurrent unit of execution.
Definition: Thread.h:64
#define DECAF_API
Definition: Config.h:29
Base class for locks that provide the notion of Ownership, the types of locks that are implemented us...
Definition: AbstractOwnableSynchronizer.h:38
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25