(PECL pthreads >= 2.0.0)
Mutex::lock — 给互斥量加锁
$mutex
)尝试为调用者给互斥量加锁。
尝试给已经被其他线程加锁的互斥量再次加锁会导致调用者线程进入阻塞状态。
mutex
通过调用函数 Mutex::create() 产生的互斥量句柄。
布尔值,表示操作是否成功。
Example #1 互斥量加锁与解锁
<?php
/** 不可以使用 new 关键字,因为互斥量不是 PHP 对象 **/
$mutex = Mutex::create();
/** 现在可以在任何线程上下文中给这个互斥量加锁了 **/
var_dump(Mutex::lock($mutex));
/** 销毁一个处于加锁状态的互斥量的操作是无效的 **/
var_dump(Mutex::unlock($mutex));
/** 永远不要忘记销毁你创建的互斥量 **/
Mutex::destroy($mutex);
?>
以上例程会输出:
bool(true) bool(true)