同步容器

2017/2/12 16:29 下午 posted in  并发编程  

线程安全相关类、并发工具

同步容器、并发容器、阻塞队列、Synchronizer(如CountDownLatch)。

集合容器框架

Java集合容器框架,4大类别(均为接口):List、Set、Queue、Map。
前3者继承了顶级接口Collection,Map本身是一个顶级接口。

ArrayList:实现了List。
LinkedList:双向链表,实现了List、Deque。
HashSet:实现了Set。
Deque:双向队列,允许队首、队尾进行入队出队操作,继承了Queue。
PriorityQueue:实现了Queue。

同步容器

类别

  1. Vector(类似ArrayList)、Stack(继承Vector)、HashTable(类似HashMap)
  2. Collections静态工程方法创建的类,如synchronizedCollection、synchronizedList等

缺陷

  1. 性能问题。为解决该问题,Java 1.5提供了并发容器。
  2. 仍存在线程不安全。一个线程vector.get(i)前,另一个线程vector.remove(i),造成数组下标越界。
  3. ConcurrentModificationException。

参考

http://www.cnblogs.com/dolphin0520/p/3933404.html
《深入理解Java虚拟机》
《Java并发编程实战》