查看 Hazelcast Map Persistence article并想知道:为什么 MapStore 方法用 synchronized 关键字声明? 是否有可能针对相同记录键同时调用此方法?
特别是在直写式 map 存储的情况下,当存储方法与 IMap 方法同步调用时。
最佳答案
是的,MapStore
实现可能会从不同的分区同时调用。这就是说,这意味着永远不会同时调用相同的键但不同的键。
在该示例中,只有一个数据库 (SQL) 连接,因此所有方法都需要共享相同的互斥体(这是使用同步块(synchronized block)强制执行的)。另一方面,如果您有一个多线程(线程安全)数据库访问/客户端或连接池,那么您可以不同步对方法的访问。
关于java - Hazelcast MapStore 并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37523286/