View source code
Display the source code in core/sync/semaphore.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Class core.sync.semaphore.Semaphore
This class represents a general counting semaphore as concieved by Edsger
Dijkstra. As per Mesa type monitors however, "signal" has been replaced
with "notify
" to indicate that control is not transferred to the waiter when
a notification is sent.
Inherits from
-
(base class)Object
Constructors
Name | Description |
---|---|
this
|
Initializes a semaphore object with the specified initial count .
|
Methods
Name | Description |
---|---|
notify
|
Atomically increment the current count by one. This will notify one
waiter, if there are any in the queue.
|
tryWait
|
If the current count is equal to zero, return. Otherwise, atomically decrement the count by one and return true. |
wait
|
Wait until the current count is above zero, then atomically decrement the count by one and return. |
wait
|
Suspends the calling thread until the current count moves above zero or
until the supplied time period has elapsed. If the count moves above
zero in this interval, then atomically decrement the count by one and
return true. Otherwise, return false.
|
factory
|
Create instance of class specified by the fully qualified name
classname .
The class must either have no constructors or have
a default constructor.
|
opCmp
|
Compare with another Object obj.
|
opEquals
|
Returns !=0 if this object does have the same contents as obj.
|
toHash
|
Compute hash function for Object .
|
toString
|
Convert Object to a human readable string.
|
Authors
Sean Kelly