# SyncSemaphore::lock

(PECL sync >= 1.0.0)

SyncSemaphore::lock — Decreases the count of the semaphore or waits

### Description

public SyncSemaphore::lock ([ int `$wait` = -1 ] ) : bool

Decreases the count of a SyncSemaphore object or waits until the semaphore becomes non-zero.

### Parameters

`wait`

  The number of milliseconds to wait for the semaphore. A value of -1 is infinite.

### Return Values

A boolean of TRUE if the lock operation was successful, FALSE otherwise.

### Examples

Example #1 SyncSemaphore::lock() example

`<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "Unable to lock semaphore.";
exit();
}
/* ... */
$semaphore->unlock();
?>`

### See Also

- SyncSemaphore::unlock() - Increases the count of the semaphore