Panda3D
|
A classic semaphore synchronization primitive. More...
Public Member Functions | |
__init__ (int initial_count) | |
acquire () | |
Decrements the internal count. If the count was already at zero, blocks until the count is nonzero, then decrements it. More... | |
int | getCount () |
Returns the current semaphore count. Note that this call is not thread-safe (the count may change at any time). More... | |
output (Ostream out) | |
int | release () |
Increments the semaphore's internal count. This may wake up another thread blocked on acquire(). More... | |
bool | tryAcquire () |
If the semaphore can be acquired without blocking, does so and returns true. Otherwise, returns false. More... | |
A classic semaphore synchronization primitive.
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().
__init__ | ( | int | initial_count | ) |
acquire | ( | ) |
Decrements the internal count. If the count was already at zero, blocks until the count is nonzero, then decrements it.
int getCount | ( | ) |
Returns the current semaphore count. Note that this call is not thread-safe (the count may change at any time).
output | ( | Ostream | out | ) |
int release | ( | ) |
Increments the semaphore's internal count. This may wake up another thread blocked on acquire().
Returns the count of the semaphore upon release.
bool tryAcquire | ( | ) |
If the semaphore can be acquired without blocking, does so and returns true. Otherwise, returns false.