hashmap:
程序使用一个公共锁同步每一个方法,并严格得限制只能有一个线程同时访问容器。
concurrenthashmap:
使用一个更加细化的锁机制,叫分离锁。这个机制允许更深层次的共享访问,任意数量的读线程可以并发访问Map,读者写者也可以并发访问Map,有限数量的写者可以并发访问Map。结果是为并发访问带来了更高的吞吐量,同时几乎没有损失单个线程访问的性能。
concurrenthashmap 和其他容器一起改进了同步容器类:提供不会抛出concurrentmodificationException的迭代器,因此不需要在迭代器中加锁。concurrenthashmap具有弱一致性,而非”及时失败的“。弱一致性的迭代器可以允许并发修改,当迭代器被创建时,他会遍历已有的元素,并可以感应到在迭代器被创建后,对容器的修改。
concurrenthashmap和hashmap
最新推荐文章于 2023-04-05 16:29:42 发布