【发布时间】:2021-12-07 03:00:13
【问题描述】:
如果多个线程执行以下操作:
if ( !is_dir($dir) )
mkdir($dir, 0, true);
如果两个线程“同时”检测到目录不存在,然后他们都尝试创建它,会发生什么?
mkdir 是否同步以防止坏事发生,或者有没有办法 flock 确保只有一个线程创建目录和/或文件?
【问题讨论】:
-
您是否将您的 php 警告转换为异常?我可以看到的其他选项是:
@(哦,天哪,我不敢相信我提出了这个建议)或与flock的一些自定义同步点 -
您的检测目录丢失的方法必须以这种方式同步,只有一个线程来执行。一个相关的问题是什么表明群是同步的stackoverflow.com/questions/185203/… 你
标签: php