为了确保操作的有效性和完整性,可以通过锁机制将并发状态转换成串行状态。作为锁机制中的一种,PHP的文件锁也是为了应对资源竞争。假设一个应用场景,在存在较大并发的情况下,通过fwrite向文件尾部多次有序的写入数据,不加锁的情况下会发生什么?多次有序的写入操作相当于一个事务,我们此时需要保证这个事务的完整性。
高效且保护文件在使用过程中受保护的写法是这样的【推荐】:
$fp = fopen(\'product.csv\', \'cb\');
flock($fp, LOCK_EX | LOCK_NB);
fwrite($fp, \" 1, 2\\n\");
//fputcsv($fp, array(\' 1\', \' 2\'));
for($p = 1; $p <= 100000; $p++){
fwrite($fp, \"content1, content2\\n\");
//fputcsv($fp, array(\'content1\', \'content2\'));
}
/* http://www.manongjc.com/article/1358.html */
flock($fp, LOCK_UN);
fclose($fp); 继续阅读与本文标签相同的文章
-
微软正在测试面向Windows 10 1903的重要补丁
2026-05-14栏目: 教程
-
这款游戏曾被称为国产之光,现沦为“骗玩家充值”游戏,网友:再见
2026-05-14栏目: 教程
-
金属3D打印专家铂力特2019用户大会尽显大国实力
2026-05-14栏目: 教程
-
Google Books迎15岁生日 重新调整后更加方便
2026-05-14栏目: 教程
-
Windows 7即将停止支援 今年被攻击次数大幅提升71%
2026-05-14栏目: 教程
