繁体   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