[英]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.