【发布时间】:2018-11-22 20:43:02
【问题描述】:
看着 Hazelcast Map Persistence article 并想知道:为什么 MapStore 方法是用 synchronized 关键字声明的? 是否有可能同时为 same 记录键调用此方法?
特别是在直写映射存储的情况下,当存储方法与 IMap 方法同步调用时。
【问题讨论】:
标签: java hazelcast persistence.xml
看着 Hazelcast Map Persistence article 并想知道:为什么 MapStore 方法是用 synchronized 关键字声明的? 是否有可能同时为 same 记录键调用此方法?
特别是在直写映射存储的情况下,当存储方法与 IMap 方法同步调用时。
【问题讨论】:
标签: java hazelcast persistence.xml
是的,MapStore 实现可能会从不同的分区同时调用。也就是说,这意味着永远不会同时调用相同的键但不同的键。
在示例中,只有一个数据库 (SQL) 连接,因此所有方法都需要共享同一个互斥锁(使用同步块强制执行)。另一方面,如果您有多线程(线程安全)数据库访问/客户端或连接池,则可以不同步对方法的访问。
【讨论】: