首页 > 其他分享 >并发容器

并发容器

时间:2022-09-26 17:11:49浏览次数:40  
标签:容器 ConcurrentHashMap List Queue 并发 sychronized

并发容器

1.概述

为了线程池做准备,线程池里有一个参数就是用并发容器来做你工作任务的容器。

容器分类

容器

从物理结构来说,数据结构就两种

  • 数组

  • 链表

从逻辑结构来说,就很多了

为啥有了List,Set,后面还要加一个Queue?

List,Set就是用来普通装东西的,Queue主要是为高并发准备的

2.ConcurrentHashMap

发展:从HashTable到ConcurrentHashMap

jdk1.0: 就两个容器 Vector(collection) HashTable(map) 所有方法都加了sychronized,目前基本不用

后面加了:

  • HashMap(所有方法都没加锁)---》
  • 工具类Collections.synchronizedCollection(new HashSet<>()),底层还是 sychronized,只是用了sychronized锁一个对象,可以调节锁的粒度。
  • ConcurrentHashMap(效率主要提高在并发读上面 效率很高 )

3.Vector到Queue的发展

多线程操作collection容器时 多考虑QUEUE少考虑List

ConcurrentLinkedDeque---》原子性是通过CAS实现

标签:容器,ConcurrentHashMap,List,Queue,并发,sychronized
From: https://www.cnblogs.com/cutesheep/p/16731630.html

相关文章