您的位置:首页 > 编程语言 > Java开发

java中的线程安全的集合

2016-02-25 15:25 716 查看

一、线程安全的集合

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包中的集合,不使用同步包装器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: