簡體   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