如何实现 lock 排它操作 功能?

lanxe 2011-11-14 11:48:05
在PHP内如何实现排它操作?即同一时间点内,只能一个线程运行指定的一段代码,像asp.net的lock功能

例子:

PHP + MySQL

同时有三人访问一条新闻内容,每人访问后需要累加1的阅读数。语句是

$query = "update news set hits = hits + 1 where newsid=$newsid";

怎么保证三人访问后,一定是加3的?
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑色渐变 2011-11-15
  • 打赏
  • 举报
回复
呵呵,好像这个担心有点多余了
ZT_King 2011-11-15
  • 打赏
  • 举报
回复
update操作会排队候车,不用担心MySQL不检他的票.
binarie 2011-11-15
  • 打赏
  • 举报
回复
用flock LOCK_EX。
kyzy_yy_pm 2011-11-15
  • 打赏
  • 举报
回复
mysql会自动生成连接队列,总之最后它们都会执行,并且根据执行时间的顺序
yunprince 2011-11-15
  • 打赏
  • 举报
回复
你担心的这个东西mysql会帮你处理的
helloyou0 2011-11-15
  • 打赏
  • 举报
回复
哦,这个压根不用操心,
本来就是一句sql,肯定是加3的...数据库本身会帮你搞定
helloyou0 2011-11-15
  • 打赏
  • 举报
回复
用事务! 如果是innodb

21,887

社区成员

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

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