2019-09-06 23:53:10 +08:00

31 lines
612 B
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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";