用于在并发情况下对关键代码进行序列化执行的流行 PHP 库
此库可帮助在并发情况下以序列化方式执行关键代码。
flock() 的锁定,而无需等待。flock()、ext-Redis、ext-pdo_mysql、ext-pdo_sqlite、ext-pdo_pgsql 或 ext-memcached 作为锁定的后端。请参阅下面的示例。composer require malkusch/lock此库使用命名空间 Malkusch\Lock。
[Malkusch\Lock\Mutex\Mutex][5] 接口为该库提供了基本的 API。
[Malkusch\Lock\Mutex\Mutex::synchronized()][6] 独占执行代码。
该方法保证代码只会被一个进程一次执行。其他进程无法访问该代码。
进程必须等待直到互斥量可用。关键代码可能会抛出异常
但有一个例外,该例外也会释放锁。
此方法返回给定可调用对象返回的任何内容。不检查返回值,因此用户需要自行决定,例如,返回值为 false 或 null 是否应被视为失败的操作。
暂无开放 Issues,或尚未同步最近议题。