在PHP中,多线程环境下实现线程同步是一个常见的需求。文件锁是其中一种简单且有效的同步机制。以下是一个使用文件锁实现线程同步的实例。
实例说明
在这个实例中,我们将创建两个PHP脚本,一个用于生产数据,另一个用于消费数据。两个脚本将尝试同时运行,但通过文件锁来确保每次只有一个脚本能够修改共享资源。

实例步骤
1. 创建一个名为`data.txt`的文件,用于存储共享数据。
2. 创建两个PHP脚本:`producer.php`和`consumer.php`。
producer.php
```php
$lockFile = 'lockfile.lock';
// 尝试获取锁
if (flock($lockFile, LOCK_EX)) {
// 生成数据
$data = 'New data at ' . date('Y-m-d H:i:s') . PHP_EOL;
// 将数据写入文件
file_put_contents('data.txt', $data, FILE_APPEND);
// 释放锁
flock($lockFile, LOCK_UN);
} else {
echo "







