php高并发同步问题

不好说 2016-08-19 05:44:06
php的并发都是怎么处理的,不要再说加缓存,分布式,加服务器,这些大道理大家都知道,讨论下具体的代码控制,比如java会有synchronized可以给方法加锁,php只能用flock锁文件的方法吗?
...全文
575 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
不好说 2016-09-12
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
php 是做网站用的 http 协议是无状态的 所以各 php 进程间不存在同步(也不会同步)问题
最近又看了一下这个问题,并发其实和语言是没有关系的。所以你说的还是有道理的。
游北亮 2016-09-01
  • 打赏
  • 举报
回复
上面另一个版本已经回答了啊,用setnx 参考: http://blog.csdn.net/fdipzone/article/details/51793837
不好说 2016-09-01
  • 打赏
  • 举报
回复
引用 12 楼 youbl 的回复:
版主回答有点不对, 楼主的意思应该是对资源的并发访问, 比如下面的代码,在web环境下多用户访问时,是可能报错文件不存在无法删除的: if(file_exists($file)){ unlink($file); } 我一般就是用flock文件锁,或者redis锁来控制 [quote=引用 6 楼 xuzuning 的回复:] 是的 严格的说,php 本身就是在 web 服务器调度下,并发运行的 因此并不存在你所谓的并发
[/quote] 是的,redis锁是怎么实现的?
游北亮 2016-09-01
  • 打赏
  • 举报
回复
版主回答有点不对, 楼主的意思应该是对资源的并发访问, 比如下面的代码,在web环境下多用户访问时,是可能报错文件不存在无法删除的: if(file_exists($file)){ unlink($file); } 我一般就是用flock文件锁,或者redis锁来控制
引用 6 楼 xuzuning 的回复:
是的 严格的说,php 本身就是在 web 服务器调度下,并发运行的 因此并不存在你所谓的并发
不好说 2016-09-01
  • 打赏
  • 举报
回复
没有人遇到过php在访问量大的时候同一时间查询的数据一样?或者插入相同的数据
不好说 2016-08-22
  • 打赏
  • 举报
回复
引用 9 楼 u013659204 的回复:
PHP通常不会用来做异步,在用以进程内共享同一文件。。
能否详细的说一下
cwk44 2016-08-20
  • 打赏
  • 举报
回复
如果只是想实现加锁的话 有种叫缓存锁的东西,可以实现类似的功能,你可以研究一下 redis、mc等都能实现,redis比较稳定
xuzuning 2016-08-19
  • 打赏
  • 举报
回复
是的 严格的说,php 本身就是在 web 服务器调度下,并发运行的 因此并不存在你所谓的并发
不好说 2016-08-19
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
应该不存在这样的需求
不会出现并发?
xuzuning 2016-08-19
  • 打赏
  • 举报
回复
应该不存在这样的需求
不好说 2016-08-19
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
php 是做网站用的 http 协议是无状态的 所以各 php 进程间不存在同步(也不会同步)问题
那从代码上没有办法控制并发?必须依靠第三方组件?
不好说 2016-08-19
  • 打赏
  • 举报
回复
那从代码上没有办法控制并发?必须依靠第三方组件?
xuzuning 2016-08-19
  • 打赏
  • 举报
回复
php 是做网站用的 http 协议是无状态的 所以各 php 进程间不存在同步(也不会同步)问题

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧