合肥网站建设方案咨询,邹平县城乡建设局网站,网站建设 ipc备案,桔子建站官网目录 一、遗留的线程安全集合二、使用 Collections 装饰的线程安全集合三、java.util.concurrent.* 包下的对象 线程安全集合类可以分为三大类#xff1a;
一、遗留的线程安全集合
Hashtable #xff0c; Vector
二、使用 Collections 装饰的线程安全集合
Collections.sy… 目录 一、遗留的线程安全集合二、使用 Collections 装饰的线程安全集合三、java.util.concurrent.* 包下的对象 线程安全集合类可以分为三大类
一、遗留的线程安全集合
Hashtable Vector
二、使用 Collections 装饰的线程安全集合
Collections.synchronizedCollection Collections.synchronizedList Collections.synchronizedMap Collections.synchronizedSet Collections.synchronizedNavigableMap Collections.synchronizedNavigableSet Collections.synchronizedSortedMap Collections.synchronizedSortedSet
三、java.util.concurrent.* 包下的对象
重点介绍 java.util.concurrent.* 下的线程安全集合类可以发现它们有规律里面包含三类关键词 Blocking、CopyOnWrite、Concurrent
Blocking 大部分实现基于锁并提供用来阻塞的方法CopyOnWrite 之类容器修改开销相对较重Concurrent 类型的容器 内部很多操作使用 cas 优化一般可以提供较高吞吐量弱一致性 遍历时弱一致性例如当利用迭代器遍历时如果容器发生修改迭代器仍然可以继续进行遍 历这时内容是旧的求大小弱一致性size 操作未必是 100% 准确读取弱一致性
遍历时如果发生了修改对于非安全容器来讲使用 fail-fast 机制也就是让遍历立刻失败抛出 ConcurrentModificationException不再继续遍历