セマフォを使う
<?php echo "start\n"; $res = lock(); echo "\n"; sleep(5); unlock($res); echo "\n"; echo "end"; function lock() { //第一引数:ファイル名 なんでも良い //第二引数:任意の一文字 // $res = sem_get(ftok(__FILE__, "t")); $res = sem_get(ftok(".", "t")); sem_acquire($res); return $res; } function unlock($res) { sem_release($res); } ?>
ロックファイルを使う
<?php echo "start\n"; lock(); sleep(5); echo "end"; unlock(); function lock() { $lockfile = "lock"; while(file_exists($lockfile)) { usleep(500000); } touch($lockfile); } function unlock() { $lockfile = "lock"; unlink($lockfile); } ?>
[カテゴリ: プログラミング言語 > PHP]
[通知用URL]
Tweet
最終更新時間:2017年04月08日 10時10分16秒