企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
## 文件锁 ### 锁可重入性: 1. 进程内可重入 2. 子进程内可重入 ```php $fp = fopen('./s-lock.lock', 'r'); if (flock($fp, LOCK_EX | LOCK_NB)) echo 'lock ok 1' . PHP_EOL; if (flock($fp, LOCK_EX | LOCK_NB)) echo 'lock ok 2' . PHP_EOL; // 同一个进程内可重入 $r = pcntl_fork(); if ($r > 0) { if (flock($fp, LOCK_EX | LOCK_NB)) echo 'lock ok 3' . PHP_EOL; } elseif ($r == 0) { if (flock($fp, LOCK_EX | LOCK_NB)) echo 'lock ok 4' . PHP_EOL; if (flock($fp, LOCK_EX | LOCK_NB)) echo 'lock ok 5' . PHP_EOL; } else { echo 'fork fail'; } sleep(5); ``` ~~~shell $: php test.php lock ok 1 lock ok 2 lock ok 3 lock ok 4 lock ok 5 ~~~