我担心会阻止同一数据的并发写入。 (PHP + MySQL)
我有一个简单的流程:
选择一条记录 - >用PHP处理数据 - >更新记录
我的噩梦场景(见下面的示例)是User1和User2都从数据库中拉出相同的记录,并且都改变并写回记录...导致其中一个用户'变化被淘汰而没有被看到。
是否可以在"单线程"中运行PHP?模式,它将对两个用户的操作进行排队?
谢谢!
修改
为了使事情更清楚,这是我想避免的场景:
所以我想确保在用户2获取数据之前,用户1已经更新了它。我不知道这是否是事物的自然顺序,我无所事事,或者我是否需要设置锁定。
答案 0 :(得分:0)
据我所知,PHP中没有线程,但 pthreads http://www.php.net/manual/en/intro.pthreads.php
等API可用于线程化:
它包含创建多线程所需的所有工具 应用
顺便提一下这个问题在SO ...