18 #ifndef _DECAF_UTIL_CONCURRENT_SEMAPHORE_H_ 19 #define _DECAF_UTIL_CONCURRENT_SEMAPHORE_H_ 32 namespace concurrent {
216 void acquireUninterruptibly();
274 bool tryAcquire(
long long timeout,
const TimeUnit& unit );
321 void acquire(
int permits );
343 void acquireUninterruptibly(
int permits );
369 bool tryAcquire(
int permits );
413 bool tryAcquire(
int permits,
long long timeout,
const TimeUnit& unit );
431 void release(
int permits );
440 int availablePermits()
const;
462 std::string toString()
const;
471 int getQueueLength()
const;
476 bool hasQueuedThreads()
const;
491 void reducePermits(
int reduceBy);
The root interface in the collection hierarchy.
Definition: Collection.h:68
A counting semaphore.
Definition: Semaphore.h:141
A TimeUnit represents time durations at a given unit of granularity and provides utility methods to c...
Definition: TimeUnit.h:62
#define DECAF_API
Definition: Config.h:29
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25