摘要: Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对 阅读全文
posted @ 2016-03-21 21:25 空谷幽澜 阅读(613) 评论(1) 推荐(0) 编辑
摘要: 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开 阅读全文
posted @ 2016-03-21 16:56 空谷幽澜 阅读(447) 评论(0) 推荐(0) 编辑
摘要: Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得 阅读全文
posted @ 2016-03-21 15:29 空谷幽澜 阅读(529) 评论(0) 推荐(0) 编辑
摘要: Java并发编程:阻塞队列 在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。 在前面我们接 阅读全文
posted @ 2016-03-21 11:30 空谷幽澜 阅读(345) 评论(0) 推荐(0) 编辑
摘要: Java并发编程:并发容器之CopyOnWriteArrayList(转载) 原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个 阅读全文
posted @ 2016-03-21 10:57 空谷幽澜 阅读(335) 评论(0) 推荐(0) 编辑
摘要: Java并发编程:并发容器之ConcurrentHashMap(转载) 下面这部分内容转载自: http://www.haogongju.net/art/2350374 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访 阅读全文
posted @ 2016-03-21 09:55 空谷幽澜 阅读(616) 评论(2) 推荐(0) 编辑