什么是并发容器的实现?

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

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

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

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

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

关键字 synchronized。

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

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

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

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

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

posted @ 2020-07-20 07:38  咔啡  阅读(290)  评论(0编辑  收藏  举报