PHP Conference Japan 2024

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
"Unable to lock semaphore.";

exit();
}

/* ... */

$semaphore->unlock();
?>

参见

添加备注

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top