php实现加锁解锁的方法:
1、利用MySQL的锁定机制来实现互斥。缺点是增大了数据库服务器的连接负担,并且使得程序依赖于数据库服务才能正常工作。
2、利用文件锁机制。 也就是利用flock
函数通过文件实现锁定和互斥机制,来模拟通用编程模型下的锁定原语的工作方式。这种方式
在以前以纯文本文件为存储引擎的时代成为保护 数据完整性的必备元素,现在在使用文本文件作为缓存媒介的场合也相当常见。
PmWiki
应该也是使用了这个机制来对多人同时编辑一个页面的情形进行提醒。 不过文件锁机制多少会调用到宿主操作系统上的文件
锁特性,因此在使用时一定要检查服务器操作系统是否为PHP环境提供了完善可靠的文件锁机制。
3、利用共享内存空间计数。 PHP可以利用shmop_open
函数开辟一块内存空间,在服务进程之间共享数据,为了保证共享数据的互
斥安全访问,可以使用sem_get
、 sem_acquire
和sem_release
这组函数实现共享计数锁定机制。这种办法在后台实际是调用了系统
的ipc 服务来实现。
相关学习推荐:PHP编程从入门到精通
最新评论