请原谅我这是一个显而易见的问题,但我从上到下阅读documentation,我仍然不确定这个问题的答案是什么:
如果我有一个数据存储区事务读取计数器的数量并递增它,我可以确定2个并行的servlet不会相互交错吗?换句话说,文档只说事务失败或原子化成功,但它没有说事务锁定其他servlet的数据,那么当2个servlet同时访问同一个实体时会发生什么?
如果事务确实不是线程安全的,那么在访问共享数据存储计数器时我应该使用synchronized
吗?
答案 0 :(得分:0)
只要您对具有共同祖先的实体进行写操作,事务就是“线程安全的”。
查看GAE低级数据存储区API,一旦了解了实体的工作原理,就会非常简单。
https://developers.google.com/appengine/docs/java/datastore/entities