tzkr.net
当前位置:首页 >> 有哪些集合是线程安全的 >>

有哪些集合是线程安全的

一些历史类的一般是线程安全的,例如:vector,hashtable等 在jdk升级后,出现了替代一些集合的类,arraylist,hashmap等,一般都是线程不安全的.

java集合框架提供了多种synchronized集合, 比如Vector, HashTable, Collections的synchronizedXxx方法的返回值等.synchronized集合是线程安全的, 但不是严格线程安全的. 根据JCIP第二章关于线程安全的定义--线程安全的类无需调用方进行额外的同步--synchronized集合是不满足该定义的. 如果我们将线程安全的定义放宽一些--单次调用对象的方法而无需调用方进行额外的同步, 这样synchronized集合就符合定义了.

: hashtable, vector是线程安全的

参考MSDNLIST线程安全--------------------------------------------------------------------------------此类型的公共静态(在 Visual Basic 中为 Shared)成员是线程安全的. 但不能保证任何实例成员是线程安全的.只要不修改该集合, List就可以同时支持多个阅读器. 枚举整个集合本质上不是一个线程安全的过程.在枚举与一个或多个写访问竞争的罕见情况下,确保线程安全的唯一方法是在整个枚举期间锁定集合.若允许多个线程对集合执行读写操作,您必须实现自己的同步.

线程安全是指要控制多个线程对某个资源的有序访问或修改,而在这些线程之间没有产生冲突. 在java里,线程安全一般体现在两个方面: 1、多个thread对同一个java实例的访问(read和modify)不会相互干扰,它主要体现在关键字synchronized.

1、你是指并发操作时的线程安全吗?2、容器中线程安全的如:vectory,hashtable,非线程安全的如:hashmap,arrylist等.3、对于原定义非线程的容器如:hashmap,arraylist可以使用Collections中的synchronizedList(list),synchronizedMap(map),synchronizedSet(set)等方法来使原来非线程安全的容器编程线程安全.4、另一方面容器中使用泛型:容器也是使容器安全的一种方式.

java多线程中并发集合和同步集合有哪些?hashmap 是非同步的,故在多线程中是线程不安全的,不过也可以使用 同步类来进行包装:包装类Collections.synchronizedMap()和Collections.synchronizedList()提供了一个基本的有条件的线程

在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类:vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使

ArrayList和linkedList都不是线程安全的

网站首页 | 网站地图
All rights reserved Powered by www.tzkr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com