黑马程序员技术交流社区

标题: 线程安全的集合 [打印本页]

作者: 李宗玛    时间: 2014-7-8 11:04
标题: 线程安全的集合
旧有的集合
a、Vector /  HashTable 线程安全(不建议使用)
b、ArrayList / HashMap 取代,但是二者线程不安全
     需要把二者处理一下:
//1、处理
List synchArrayList = Collections.synchronizedList(new ArrayList());
Map synchHashMap = Collections.synchronizedMap(new HashMap());
//2、使用。但是如果使用这种被包装过的collection,必须使用同步块访问
synchronized (synchHashMap){
   Iterator iter = synchHashMap.keySet().iterator();
   while (iter.hasNext()) . . .;
}

新增线程安全且高效的集合
java.util.concurrent包
ConcurrentLinkedQueue 可被多线程安全访问的无边界的非阻塞队列
ConcurrentHashMap 可被多线程安全访问的散列映射表




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2