码迷,mamicode.com
首页 > 其他好文 > 详细

什么是并发容器的实现?

时间:2020-07-12 18:28:12      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:map   hash   ola   vector   line   top   状态   hashtable   color   

 

何为同步容器:可以简单地理解为通过 synchronized 来实现同步的容器,如果有 

多个线程调用同步容器的方法,它们将会串行执行。比如 Vector,Hashtable,

以及 Collections.synchronizedSet,synchronizedList 等方法返回的容器。

可以通过查看 Vector,Hashtable 等这些同步容器的实现代码,可以看到这些容 

器实现线程安全的方式就是将它们的状态封装起来,并在需要同步的方法上加上 

关键字 synchronized。

并发容器使用了与同步容器完全不同的加锁策略来提供更高的并发性和伸缩性,

例如在 ConcurrentHashMap 中采用了一种粒度更细的加锁机制,可以称为分段 

锁,在这种锁机制下,允许任意数量的读线程并发地访问 map,并且执行读操作 

的线程和写操作的线程也可以并发的访问 map,同时允许一定数量的写操作线程 

并发地修改 map,所以它可以在并发环境下实现更高的吞吐量。

什么是并发容器的实现?

标签:map   hash   ola   vector   line   top   状态   hashtable   color   

原文地址:https://www.cnblogs.com/programb/p/13016542.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!