Java并发编程:阻塞队列 在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。 在前面我.....
分类:
编程语言 时间:
2014-08-29 09:25:07
阅读次数:
246
Java并发编程:并发容器之ConcurrentHashMap(转载) 下面这部分内容转载自: http://www.haogongju.net/art/2350374 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状...
分类:
编程语言 时间:
2014-08-27 10:49:27
阅读次数:
317
Java并发编程:同步容器 为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。 以下是本文的目录大纲: 一.为什么会出现同步容器? 二.Jav...
分类:
编程语言 时间:
2014-08-24 22:02:03
阅读次数:
250
Java并发编程:同步容器 为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。 以下是本文的目录大纲: 一.为什么会出现同步容器? 二.Jav...
分类:
编程语言 时间:
2014-08-24 16:40:42
阅读次数:
246
转发:大海巨浪Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable。另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法。同步容器都是线程安全的,但是对于复合操作,缺有些缺点:① ...
分类:
编程语言 时间:
2014-06-22 12:54:50
阅读次数:
319
一、同步容器类
1. 同步容器类的问题
线程容器类都是线程安全的,但是当在其上进行符合操作则需要而外加锁保护其安全性。
常见符合操作包含:
. 迭代
. 跳转(根据指定顺序找到当前元素的下一个元素)
. 条件运算
迭代问题可以查看之前的文章
《Java ConcurrentModificationException 异常分析与解决方案》
二、并...
分类:
编程语言 时间:
2014-05-25 11:09:47
阅读次数:
331
1.同步容器,同步容器包括Vector和HashTable,是早期jdk的一部分。另一部分是同步包装类,以Collections.synchronizedxxx的工厂方法创建。
2.同步容器虽然是线程安全的,但是对于复合操作,有时你可能需要加上额外的客户端加锁进行保护,即对于使用这些容器的客户端代码,如果存在复合操作,还是可能存在风险。
3.例如check-and-act操作、循环中的元素操作...
分类:
编程语言 时间:
2014-05-07 08:33:56
阅读次数:
423