Java Guava MapMaker和JDK ConcurrentMap是否使用读/写锁?

Java Guava MapMaker和JDK ConcurrentMap是否使用读/写锁?,java,concurrency,guava,Java,Concurrency,Guava,据我所知,这两个映射都是为在多线程环境中工作而设计的。但我也谈到了它们保证的功能(即可用性、一致性)。我认为它们不使用读锁(依赖于volatile字段来确保读操作可以从其他线程中看到写操作),并在内部分解为若干段(基于预期的并发级别)这些条目分布在其中,每个条目使用自己的写锁,与其他条目分开。这样,如果需要同时写入同一段,则从不读取块,只写入块。不过我不是这方面的专家 至于保证,我不知道你在问什么ConcurrentMap指定内存一致性保证: 内存一致性影响:与其他并发集合一样,将对象放入Con

据我所知,这两个映射都是为在多线程环境中工作而设计的。但我也谈到了它们保证的功能(即可用性、一致性)。

我认为它们不使用读锁(依赖于
volatile
字段来确保读操作可以从其他线程中看到写操作),并在内部分解为若干段(基于预期的并发级别)这些条目分布在其中,每个条目使用自己的写锁,与其他条目分开。这样,如果需要同时写入同一段,则从不读取块,只写入块。不过我不是这方面的专家

至于保证,我不知道你在问什么<代码>ConcurrentMap指定内存一致性保证:

内存一致性影响:与其他并发集合一样,将对象放入
ConcurrentMap
之前线程中的操作(作为键或值)发生在另一个线程中从
ConcurrentMap
访问或移除该对象之后的操作之前


你的题目与正文不太相符。你对哪一个感兴趣?保证还是实施?