CountingSemaphore class
A CountingSemaphore is a synchronization primitive that maintains a counter that represents the number of available permits.
Acquire:
If the counter is 0, the caller blocks (sleeps) until the count becomes
greater than 0.
Otherwise, the counter is decremented, and the caller acquires a permit.
Release:
If any caller were blocked, one is woken up to acquire permit.
Otherwise, the counter is incremented.
Constructors
- CountingSemaphore(int initialCount, int maxCount)
- Creates an instance of CountingSemaphore.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
acquire(
) → Future< void> - Acquires a permit.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
release(
) → Future< void> - Releases a permit.
-
toString(
) → String -
A string representation of this object.
inherited
-
tryAcquire(
Duration timeout) → Future< bool> -
Tries to acquire the permit and returns
trueif the permit was acquired before thetimeoutexpires, otherwise the acquisition attempt is canceled andfalseis returned.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited