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