繁体   English   中英

Hazelcast IMap-并发更新到相同的键,但值不同

[英]Hazelcast IMap - Concurrent updates to the same key, different value

没有测试,因为我被困在火车上,电池没电了...

我需要确定Hazelcast的IMap并发更新是否是线程安全的,更新同一密钥但该密钥的值不同。

例如:

假设我有2个不同的线程更新相同的IMap密钥...

出于所有意图和目的,此映射如下所示:

  key: {value1: 1, value2: 2}

一个线程说,

  "I am updating value1 to 3"

另一个线程说(同时)

  "I am updating value2 to 4".

Hazelcast如何处理呢?

最终结果将如下所示吗?

  key: {value1: 3, value2: 4}

Hazelcast使用分区。 散列键以找到该条目的正确分区。

每个分区都是单线程的,只有一个分区线程处理每个分区。 因此,单个键的两次更新由单个分区线程处理。

如果两个更新的密钥都位于同一分区中,则这些操作将在单个分区线程上顺序执行。 如果每个键都位于不同的分区中,则每个更新将由不同的线程处理。

我不太了解您的表示法: key: {value1: 1, value2: 2} ->它看起来像一个嵌套的地图。

您还说: the same key but different values of that key. ->在地图中,每个键只有一个值(除非该值是集合或地图)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM