摘要: concurrent包下的并发容器 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5开始 阅读全文
posted @ 2016-10-03 21:14 Hesier 阅读(200) 评论(0) 推荐(0) 编辑
摘要: Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。 CopyOnWrite原理 CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加, 阅读全文
posted @ 2016-10-03 21:12 Hesier 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 同步容器 在Java中,同步容器主要包括2类: 1. Vector、Stack、HashTable。Vector实现了List接口,Vector实际上就是一个数组,和ArrayList类似,但是Vector中的方法都是synchronized方法,即进行了同步措施。Stack也是一个同步容器,它的方 阅读全文
posted @ 2016-10-03 21:02 Hesier 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 synchronized的缺陷 如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁 阅读全文
posted @ 2016-10-03 20:56 Hesier 阅读(182) 评论(0) 推荐(0) 编辑