java中的线程安全的集合

来源:互联网 发布:数据库基础知识视频 编辑:程序博客网 时间:2024/06/11 08:29

一、线程安全的集合

1、阻塞队列

LinkedBlockingQueue等等


2、java.util.concurrent包中:ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipSet、ConcurrentLinkedQueue


3、写数组的拷贝

CopyOnWriteArrayList和CopyOnWriteArraySet


4、早期的线程安全集合(弃用,不推荐)

Vector、Hashtable

(Vector被ArrayList取代,Hashtable被HashMap取代)

二、线程不安全的集合变安全

同步包装器:使用锁加以保护,提供了线程的安全访问。

举例:

List<E> myList = Collections.synchronizedList(new ArrayList<E>());Map<K, V> myMap = Collections.sysnchronizedMap(new HashMap<K, V>());


三、最佳实践

最好使用java.util.concurrent包中的集合,不使用同步包装器

0 0
原创粉丝点击