0

我想读取一个特定的属性值并相应地更新它。要求是,如果两个或多个进程尝试更新相同的值,则只有一个应该成功,另一个应该失败,因为一旦更改了属性值,第二个进程也尝试更新属性值的基础现在已经过时了。

例如,将属性“status”设置为值“True”,如果它是“False”。现在,如果两个进程最初都读取“False”,然后第一个进程将其更改为“True”,那么第二个进程应该重新读取属性值,而不是将其更新为“True”或只是“阻塞”直到前一次读取-write 完成。(在我们的应用程序中,写操作紧跟在读操作之后,因此需要这是一个原子操作。)

在 Python 2.5 中开发并使用 db.Model。

谢谢!

4

1 回答 1

1

您想在事务中进行读+写。

https://developers.google.com/appengine/docs/python/datastore/transactions

于 2013-02-18T06:20:03.433 回答