【发布时间】:2013-12-16 18:38:27
【问题描述】:
一个简单的问题。尝试读取使用file_put_contents 锁定的文件并使用LOCK_EX 的脚本是等到文件解锁还是读取失败并继续?
【问题讨论】:
-
@chiliNUT 我需要一个巨大的文件来尝试它,或者不是吗?
-
dd if=/dev/zero of=output.dat bs=1M count=10创建一个 1M x 10 = 10MB 的文件,根据需要创建一个文件并使用它 -
@mario 接受答案的作者说
So since file_get_contents() utilizes it [flock()], I'd assume it's the same。这是一个假设,即使它确实使用flock(),他也不确定它是否使用LOCK_NB(不管出于何种原因,他都在谈论file_get_contents,而我的问题涉及用@锁定文件987654330@ 和一般读取此类文件)。 -
should LOCK_EX on both read & write be atomic?有更详细的答案。它仍然不是权威答案(但我宁愿看到在那里添加新答案而不是新的重复)。顺便说一句,不管底层实现如何,至少应该等待。
标签: php multithreading file