Class Semaphore
A Semaphore
implementation.
A semaphore manages an internal counter which is decremented by each
acquire
() call and incremented by each release
()
call. The counter can never go below zero; when acquire
() finds
that it is zero, it blocks, waiting until some other thread calls release
().
The optional argument gives the initial value for the internal counter; it defaults to 1.
This class is not thread safe.
Inherits from
-
Object
(base class)
Properties
Name | Type | Description |
---|---|---|
locked
[get]
|
bool |
Returns true if semaphore can not be acquired immediately. |
Methods
Name | Description |
---|---|
acquire
|
Acquire a semaphore. |
release
|
Release a semaphore, incrementing the internal counter by one. When it was zero on entry and another coroutine is waiting for it to become larger than zero again, wake up that coroutine. |
Authors
Dragos Carp
Copyright
© 2015-2016 Dragos Carp
License
Boost Software License - Version 1.0