• 技术文章 >后端开发 >PHP问题

    php如何实现加锁解锁?

    coldplay.xixicoldplay.xixi2020-07-22 13:49:12原创1486

    php实现加锁解锁的方法:1、利用MySQL的锁定机制来实现互斥;2、利用文件锁机制;3、利用共享内存空间计数。

    php实现加锁解锁的方法:

    1、利用MySQL的锁定机制来实现互斥。缺点是增大了数据库服务器的连接负担,并且使得程序依赖于数据库服务才能正常工作。

    2、利用文件锁机制。 也就是利用flock函数通过文件实现锁定和互斥机制,来模拟通用编程模型下的锁定原语的工作方式。这种方式

    在以前以纯文本文件为存储引擎的时代成为保护 数据完整性的必备元素,现在在使用文本文件作为缓存媒介的场合也相当常见。

    PmWiki应该也是使用了这个机制来对多人同时编辑一个页面的情形进行提醒。 不过文件锁机制多少会调用到宿主操作系统上的文件

    锁特性,因此在使用时一定要检查服务器操作系统是否为PHP环境提供了完善可靠的文件锁机制。

    3、利用共享内存空间计数。 PHP可以利用shmop_open函数开辟一块内存空间,在服务进程之间共享数据,为了保证共享数据的互

    斥安全访问,可以使用sem_getsem_acquiresem_release这组函数实现共享计数锁定机制。这种办法在后台实际是调用了系统

    的ipc 服务来实现。

    相关学习推荐:PHP编程从入门到精通

    以上就是php如何实现加锁解锁?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 加锁解锁
    上一篇:php static方法是指什么? 下一篇:PHP如何将URL里的中文转码?
    Web大前端开发直播班

    相关文章推荐

    • php文件锁产生的问题和解决方案(一个真实案例)• 如何避免死锁?• mysql悲观锁怎么实现?• 悲观锁乐观锁的定义

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网