phplock(php进程锁) v1.0 beta1
2015-01-24信息快讯网
示例:
<?php /** * 测试例子,同时打开两个页面,可以发现总是同时只能一个页面进入到锁区间的代码 * @link http://code.google.com/p/phplock/ * @author sunli * @svnversion $Id: test.php 2 2009-11-24 07:14:27Z sunli1223 $ * @version v1.0 beta1 * @license Apache License Version 2.0 * @copyright [email protected] */ require 'class.phplock.php'; $lock = new PHPLock ( 'lock/', 'lockname' ); $lock->startLock (); $lock->startLock (); //process code echo "<span>进入锁</span><br />\r\n"; ob_end_flush(); flush(); ob_flush(); sleep ( 5 ); //休眠20秒,模拟并发操作 echo "执行完成<br />\r\n"; $lock->unlock (); $lock->endLock (); echo "释放锁完成<br />\r\n"; /** * cache操作 * * @return $array */ function getCache($key) { return $cache; } /** * 设置缓存 * * @param string $key * @param array $value */ function setCache($key,$value) { } $cache=getCache($key); if (! $cache) { //缓存不存在,开始加锁 $lock = new PHPLock ( 'lock/', $key ); $lock->startLock (); $lock->startLock (); //尝试判断缓存是否有数据,可能已经有访问重建缓存了,就不需要再次查询数据库 $cache=getCache(); if(!$cache){ //数据库查询操作,代码省略了 $data=$dbdata; setCache($key,$data); } //释放锁 $lock->unlock (); $lock->endLock (); } ?>
相关文章推荐
PHP 进程锁定问题分析研究
php smarty 二级分类代码和模版循环例子
PHP 八种基本的数据类型小结
php自动获取字符串编码函数mb_detect_encoding
比较时间段一与时间段二是否有交集的php函数
实用PHP会员权限控制实现原理分析
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
用PHP的超级变量$_GET获取HTML表单(Form) 数据
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
php HandlerSocket的使用
PHP中使用gettext来支持多语言的方法
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
php Memcache 中实现消息队列
PHP 进程锁定问题分析研究
PHP 递归效率分析
PHP 单引号与双引号的区别
PHP小程序自动提交到自助友情连接
php 引用(&)详解
关于Appserv无法打开localhost问题的解决方法
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
php getsiteurl()函数
php win下Socket方式发邮件类
PHP file_get_contents 函数超时的几种解决方法
PHP获取当前文件所在目录 getcwd()函数
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
PHP Document 代码注释规范
PDP Document 代码注释规范第1/2页
模拟flock实现文件锁定