Perl Cd Bookshelf [Electronic resources]

نسخه متنی -صفحه : 875/ 375
نمايش فراداده

22.16. Win32::Semaphore

The Win32::Semaphore module implements semaphores, synchronizing access to shared resources. The constructor new creates a new semaphore object and sets the initial count and the maximum count of the semaphore. The constructor has the following syntax:

$sem = Win32::Semaphore->new(init, max, [name]);

The arguments are defined as follows:

init
The initial count of the semaphore

max
The maximum count of the semaphore

name
A string containing a name of the semaphore

The open constructor opens an existing semaphore object specified by name:

$sem = Win32::Semaphore->open(name);

The following methods can be used on Win32::Semaphore objects.

$sem->release(inc, [$var])

Releases a semaphore and increments the count by the amount specified in inc. The last count (before the increment) is returned in the $var variable, if provided.

$sem->wait([timeout])

The inherited Win32::IPC call. Waits for the semaphore''s count to be nonzero, then decrements it. Optional timeout is given in milliseconds.