edgarpe/

lock

获取独占锁的库。

v1.0.0 2016-02-10 13:41 UTC

This package is not auto-updated.

Last update: 2019-08-28 19:07:57 UTC


README

用法

仅在单个实例中运行,不要等待锁变得可用

$lock = new \EdgarPE\Lock\Lock(__FILE__);
if ($lock->acquire(false)) {
    echo posix_getpid(), "\n";
}

等待锁变得可用

$lock = new \EdgarPE\Lock\Lock(__FILE__);
if ($lock->acquire(true)) {
    echo posix_getpid(), "\n";
}

同步PHP可调用,类似于Java的同步方法

$lock = new \EdgarPE\Lock\Lock(__FILE__);
$pid = $lock->synchronized(function () {
    return posix_getpid();
});
echo $pid, "\n";