gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 07:29:34 26 4
gpt4 key购买 nike

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

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

例如:

假设我有 2 个不同的线程更新同一个 IMap 键...

出于所有意图和目的,这张 map 如下所示:

  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 进行哈希处理以找到该条目的正确分区。

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

如果两个更新的键落在同一个分区中,这些操作将在单个分区线程上按顺序进行。如果每个键落在不同的分区中 - 不同的线程将处理每个更新。

我不太明白你的表示法:key: {value1: 1, value2: 2} -> 它看起来像一个嵌套映射。

您还说:相同的键,但该键的值不同。 -> 在映射中,每个键只有一个值(除非该值是集合或映射)

关于java - Hazelcast IMap - 并发更新相同的键,不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44854870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com