(PECL sync >= 1.0.0)

Описание

public SyncSemaphore::__construct ([ string $name [, int $initialval = 1 [, bool $autounlock = TRUE ]]] )

Создает именованный или безымянный семафор.

Список параметров

name

Имя семафора, если это именованный объект семафора.

Замечание:

Если имя уже существует, оно должно быть открыто текущим пользователем, от имени которого выполняется процесс, или будет выдано исключение с бессмысленным сообщением об ошибке.

initialval

Начальное значение семафора. Это количество блокировок, которые могут быть получены.

autounlock

Указывает, следует ли автоматически разблокировать семафор при завершении PHP-скрипта.

Внимание

Если объект: именованный семафор с автоблокировкой FALSE, объект блокируется, и PHP-скрипт завершает работу до того, как объект будет разблокирован, то базовый семафор окажется в несогласованном состоянии.

Возвращаемые значения

Новый объект SyncSemaphore. Исключение, если семафор не может быть создан или открыт.

Примеры

Пример #1 SyncSemaphore::__construct() образец

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
    echo "Невозможно заблокировать семафор.";

    exit();
}

/* ... */

$semaphore->unlock();
?>