Mutex::unlock

(PECL pthreads < 3.0.0)

Mutex::unlock释放互斥量上的锁

警告

pthreads v3 中已经将 Mutex 类移除。

说明

final public static Mutex::unlock( int $mutex , bool $destroy = ?): bool

尝试为互斥量解锁,也可以通过 destroy 参数控制是否在解锁之后同时销毁此互斥量。 只有持有互斥量锁的线程才可以对这个互斥量进行解锁操作。

参数

mutex

通过调用函数 Mutex::create() 产生的互斥量句柄。

destroy

此参数为 true 表示如果解锁成功,则同时销毁此互斥量。

返回值

成功时返回 true, 或者在失败时返回 false

范例

示例 #1 互斥量的加锁与解锁

<?php
/** 不可以使用 new 关键字,因为互斥量不是 PHP 对象 **/
$mutex Mutex::create();
/** 现在可以在任何线程上下文中给这个互斥量加锁了 **/
var_dump(Mutex::lock($mutex));
/** 销毁一个处于加锁状态的互斥量的操作是无效的 **/
var_dump(Mutex::unlock($mutex));
/** 永远不要忘记销毁你创建的互斥量 **/
Mutex::destroy($mutex);
?>

以上例程会输出:

bool(true)
bool(true)