簡體   English   中英

如何確保寫入發生在同一存儲桶和同一鍵上的不同線程同時讀取並發哈希映射之前?

[英]How can I make sure that write happens before read in concurrenthashmap at the same time by different thread at same bucket and on a same key?

我想確保在同一個桶和鍵讀取和寫入時,應該更新獲取的值,即應該在對其進行寫入操作后獲取它。 我怎樣才能做到這一點?

我想要的是如果我更新一個鍵的值,如果我同時用不同的線程獲取值,那么我應該得到更新的值而不是前一個,這就是我想要實現的。

我可以考慮使用等待/通知,在任何操作之前加入此處使用,但我不確定。

我們都知道如果沒有並發 hashmap 是如何工作的,這里: ConcurrentHashmap 同時寫入和獲取操作

根據這篇文章並發hasmap已經有這個特性,請參考下面的para和鏈接讀寫操作:-兩個線程可以同時在不同的段上讀寫數據,而不會互相阻塞。 通常,檢索操作不會阻塞,因此可能與寫入(放置/刪除)操作重疊。 最新更新的值將通過 get 操作返回,這是最近通過寫入操作更新的值(包括 put/remove)

https://medium.com/@itsromiljain/curious-case-of-concurrenthashmap-90249632d335

PS:我沒試過,如果上面的文章(奇案)有錯誤的地方請更新我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM