同步容器和并发容器:
Vector 线程安全,在方法上加Synchronized
ArrayList
Collections 工具类
Hashtable 线程安全,在方法上加Synchronized
HashMap
并发容器:
CopyOnWriteArrayList:当写的时候,就复制。
缺点:
1、因为是基于拷贝复制实现的,所有内存占用会变大。
2、因为在写和删除的时候,会加锁,因此当线程并发写的时候,会产生阻塞问题。导致数据的最终一致性,而不是强一致性。
ConcurrentHashMap: 降低锁的粒度。
队列:先进先出(FIFO : First Input First Outpu)
非阻塞队列:
ConcurrentLinkedQueue: 并发的解决方式:CAS(比较的是指针)
阻塞队列:(如果队列中没有元素,则阻塞等待元素的到来。)
接口:BlockingQueue,阻塞的方法:put,take
实现:ArrayBlockingQueue:基于数组
LinkedBlockingQueue:基于链表