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