GAE / Java:交易线程安全吗?

时间:2013-04-29 18:11:53

标签: java google-app-engine

请原谅我这是一个显而易见的问题,但我从上到下阅读documentation,我仍然不确定这个问题的答案是什么:

如果我有一个数据存储区事务读取计数器的数量并递增它,我可以确定2个并行的servlet不会相互交错吗?换句话说,文档只说事务失败或原子化成功,但它没有说事务锁定其他servlet的数据,那么当2个servlet同时访问同一个实体时会发生什么?

如果事务确实不是线程安全的,那么在访问共享数据存储计数器时我应该使用synchronized吗?

1 个答案:

答案 0 :(得分:0)

只要您对具有共同祖先的实体进行写操作,事务就是“线程安全的”。

查看GAE低级数据存储区API,一旦了解了实体的工作原理,就会非常简单。

https://developers.google.com/appengine/docs/java/datastore/entities