You've already forked qlg.tsgz.moe
31 lines
612 B
PHP
Executable File
31 lines
612 B
PHP
Executable File
<?php
|
|
/**
|
|
* SWOOLE_MUTEX 互斥锁
|
|
* SWOOLE_FILELOCK 文件锁,需要在第二个参数传入一个锁文件
|
|
* SWOOLE_SPINLOCK 自旋锁(请查看swoole扩展信息,检测是否支持)
|
|
* SWOOLE_SEM 信号量
|
|
* SWOOLE_RWLOCK 读写锁
|
|
*/
|
|
|
|
$lock = new swoole_lock(SWOOLE_MUTEX);
|
|
echo "[Master]create lock\n";
|
|
$lock->lock();
|
|
if (pcntl_fork() > 0)
|
|
{
|
|
sleep(1);
|
|
$lock->unlock();
|
|
}
|
|
else
|
|
{
|
|
echo "[Child] Wait Lock\n";
|
|
$lock->lock();
|
|
echo "[Child] Get Lock\n";
|
|
$lock->unlock();
|
|
exit("[Child] exit\n");
|
|
}
|
|
echo "[Master]release lock\n";
|
|
unset($lock);
|
|
sleep(1);
|
|
echo "[Master]exit\n";
|
|
|