关于flock的问题,我在博客上整体了下,http://www.shionco.com/archives/php_flock.html
例程代码:
$fd = fopen('./a.html', 'wb');
if ($fd) {
if (@flock($fd, LOCK_EX|LOCK_NB)) {
echo '未锁,打开文件并加锁';
sleep(10);
} else {
print '已锁,关闭文件';
}
fclose($fd);
} else {
echo '打开文件失败';
}
我在FF下,建立2个页面,打开第一个页面运行,独占锁定成功,进入延时状态,马上打开第2个页面运行,结果第2页发生阻塞,等到第1页运行结束,第2页也独占锁定成功,进入延时状态,执行完毕,明明使用了LOCK_NB,但并未发生独占锁定失败。无论是新建标签页或新窗口都会发生阻塞!
然而在IE下(我使用的是IE9,别的未测试),同样的流程,第2页直接独占锁定失败,输出"已锁,关闭文件";
如果是这样,FF的客户端大量浏览发生内容更新的缓存文件,岂不是都会阻塞?
------解决方案--------------------
你可以这样验证,再创建一个文件,包含上述代码
试着用标签式浏览器分别打开这两个文件,,,,看看是否达到你的需求。。如果是,就是上述原因
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章推荐
• 聊聊php怎么让Swoole/Pool进程池实现Redis持久连接• 一文解析PHP元转分的错误示范(附代码实例)• PHP+Socket系列之实现websocket聊天室• PHP+Socket系列之IO多路复用及实现web服务器• PHP+Socket系列之实现客户端与服务端数据传输PHP入门视频教程之一周学会PHP
所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通过一周的深入学习让你快速掌握PHP的各项技能,助你的工作和学习更上层楼!
PHP教程245811次播放
弹指间学会HTML视频教程
《弹指间学会HTML视频教程》从最基本的概念开始讲起,步步深入,带领大家学习HTML,了解各种常用标签的意义以及基本用法,学习HTML知识为以后的学习打下基础
HTML教程70502次播放
弹指间学会CSS视频教程
CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
CSS教程43554次播放
CSS3 最新视频教程
《CSS3 最新视频教程》中 CSS 用于控制网页的样式和布局。 CSS3 是最新的 CSS 标准, 本教程向您讲解 CSS3 中的新特性。通过实例进行讲解,更容易提高学习的效率!
CSS3教程30491次播放
相关课程推荐
1/1