LonghornPHP 2026

SyncSemaphore::__construct

(PECL sync >= 1.0.0)

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

Описание

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

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

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

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

AltStyle によって変換されたページ (->オリジナル) /