0

这可能是一个常见问题,但我仍然不清楚解决方案。我正在使用 GAE (Datastore) ,与 Objectify 进行交互。我有一个关于并发的问题。

假设我们有一个对象,我们称之为 blarkar。用户“A”开始一个事务,他将尝试从数据库加载 blarkar,对其进行修改,并将修改后的版本保存回数据库。

我知道在事务中,要么一切都发生,要么什么都没有发生,但我感到困惑的是 blarkar 对象是否被标记为已签出,以及在用户“A”启动的事务中是否可以覆盖它是进行中。

例如,如果另一个用户,我们称之为“B”,尝试将新版本的 blarkar 保存到数据库中,在用户“A”开始他的事务之后但在他结束之前,那么她的更改将被覆盖用户 A 的交易结束?

同样,我正在使用 GAE 数据存储,并与 Objectify 进行交互。但是,Objectify 似乎只是实现了 Datastore 的事务 API。

非常感谢。

4

1 回答 1

1

阅读: https ://code.google.com/p/objectify-appengine/wiki/Concepts#Transactions

您也可以在 google 上搜索 Optimistic Concurrency。

于 2013-09-04T15:24:44.723 回答