18#ifndef _DECAF_UTIL_CONCURRENT_SEMAPHORE_H_
19#define _DECAF_UTIL_CONCURRENT_SEMAPHORE_H_
148 Semaphore(
const Semaphore& );
149 Semaphore& operator= (
const Semaphore& );
The root interface in the collection hierarchy.
Definition Collection.h:69
int getQueueLength() const
Gets an estimated count of the number of threads that are currently waiting to acquire,...
bool tryAcquire(int permits, long long timeout, const TimeUnit &unit)
Acquires the given number of permits from this semaphore, if all become available within the given wa...
void acquireUninterruptibly()
Acquires a permit from this semaphore, blocking until one is available.
int availablePermits() const
Returns the current number of permits available in this semaphore.
bool tryAcquire()
Acquires a permit from this semaphore, only if one is available at the time of invocation.
void acquire(int permits)
Acquires the given number of permits from this semaphore, blocking until all are available,...
void acquireUninterruptibly(int permits)
Acquires the given number of permits from this semaphore, blocking until all are available.
decaf::util::Collection< decaf::lang::Thread * > * getQueuedThreads() const
Creates and returns a new Collection object that contains a best effort snapshot of the threads that ...
Semaphore(int permits)
Creates a Semaphore with the given number of permits and nonfair fairness setting.
void release()
Releases a permit, returning it to the semaphore.
void release(int permits)
Releases the given number of permits, returning them to the semaphore.
int drainPermits()
Acquires and returns all permits that are immediately available.
bool hasQueuedThreads() const
bool tryAcquire(int permits)
Acquires the given number of permits from this semaphore, only if all are available at the time of in...
std::string toString() const
Returns a string identifying this semaphore, as well as its state.
Semaphore(int permits, bool fair)
Creates a Semaphore with the given number of permits and the given fairness setting.
bool tryAcquire(long long timeout, const TimeUnit &unit)
Acquires a permit from this semaphore, if one becomes available within the given waiting time and the...
void acquire()
Acquires a permit from this semaphore, blocking until one is available, or the thread is interrupted.
void reducePermits(int reduceBy)
Reduces the number of available permits which can be useful for subclasses.
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
Definition AbstractExecutorService.h:28
Definition AbstractCollection.h:33
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25