ConFoo 2025

SyncSemaphore::__construct

(PECL sync >= 1.0.0)

SyncSemaphore::__constructСоздаёт новый объект SyncSemaphore

Описание

public SyncSemaphore::__construct(string $name = ?, int $initialval = 1, bool $autounlock = true)

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

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

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();
?>

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top