Hazelcast IMap线程安全吗?

时间:2018-08-15 15:16:01

标签: hazelcast

我想避免在Hazelcast中使用重复的密钥,因此我打算使用putIfAbsent。但是在执行测试之前,我想知道如果我的应用程序托管在两台服务器上,IMap仍然是线程安全的吗?例如,我将我的应用程序托管在两台服务器上,并假定两个应用程序都收到相同的密钥,并且都尝试使用putIfAbsent插入。

1 个答案:

答案 0 :(得分:1)

是的,它是线程安全的-请参见http://docs.hazelcast.org/docs/3.10.4/manual/html-single/index.html#locking-mapshttp://docs.hazelcast.org/docs/3.10.4/javadoc/com/hazelcast/core/IMap.html

如果您从任何两个地方进行putIfAbsent("hello","world"),最多只能成功一个。

任何两个地方可能是同一个JVM中的两个线程,两个JVM中的两个线程,无论如何。

您无需进行任何锁定来确保这一点,它会为您处理。