(PECL sync >= 1.0.0)
SyncSemaphore::__construct — Создаёт новый объект SyncSemaphore
Создаёт именованный или безымянный семафор.
nameИмя семафора, если это именованный объект семафора.
Замечание:
Если имя уже существует, оно должно быть доступно для открытия текущим пользователем, от имени которого запущен процесс, иначе будет выброшено исключение с бессмысленным сообщением об ошибке.
initialvalНачальное значение семафора. Это количество блокировок, которое можно получить.
autounlockУказывает, следует ли автоматически разблокировать семафор при завершении скрипта PHP.
       Если объект - это: именованный семафор с autounlock со значением false, объект
       заблокирован и скрипт PHP завершается до того, как объект разблокируется,
       то базовый семафор окажется в несогласованном состоянии.
      
Новый объект SyncSemaphore.
Если семафор не может быть создан или открыт, выбрасывается исключение.
Пример #1 Пример использования SyncSemaphore::__construct()
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
    echo "Невозможно заблокировать семафор.";
    exit();
}
/* ... */
$semaphore->unlock();
?>