多线程并发在操作传统集合的时候,有可能出现死循环(带有while循环的代码)或者抛异常(在使用迭代器的时候),因为需要专门的多线程集合保证集合安全。
1,ConcurrentHashMap.其主要接口方法和HashMap是差不多的。但是,ConcurrentHashMap是使用了ReentranLock(可重入锁机制)来保证在多线程
环境下是线程安全的。
2,ConcurrentLinkedDeque:线程安全的双端队列,当然也可以当栈使用。由于是linked的,所以大小不受限制的。具体API就不多说了。
3,ConcurrentLinkedQueue:线程安全的队列。
4,ConcurrentSkipListMap:基于跳表实现的线程安全的MAP。除了线程安全的特性外,该map还接受比较器进行排序的map,算法复杂度还是log(n)级别的。
。API中提供了一些以前不常使用的方法。以后再具体研究这个跳表的问题。
5,ConcurrentSkipSet:基于4实现的set。
6,CopyOnWriteArrayList:以资源换取并发。通过迭代器快照的方式保证线程并发的访问。
7,CopyOnWriteArraySet:基于6实现的。
多线程 同步集合类
最新推荐文章于 2024-04-09 16:20:12 发布