
![]() | ![]() |
8.212. Thread::Semaphore
Provides a mechanism to regulate access
to resources. Semaphores are more general than locks because they
aren't tied to a particular scalar. They can have
values other than 0 or 1 and
can be incremented or decremented by a specified number.
new |
$sem = new Thread::Semaphore([val])
Constructor. Creates a new semaphore object, with an optional initial
count of val, or 1 if
val isn't specified.
down |
down [number]
Decrements the semaphore's count by the specified
number, which defaults to 1. If the resulting
count would be negative, blocks until the
semaphore's count has been increased to be equal to
or larger than the amount you want to decrease it.
up |
up [number]
Increments the semaphore's count by the specified
number, which defaults to 1. If a thread is
blocked waiting to decrement the count, and the increment brings the
count high enough, the blocked thread is unblocked.
![]() | ![]() | ![]() |
8.211. Thread::Queue | ![]() | 8.213. Thread::Signal |

Copyright © 2002 O'Reilly & Associates. All rights reserved.