2013年8月1日

JAVA多线程经典问题 -- 生产者 消费者 同步队列实现方法

摘要: 在JAVASE5 中的java.util.concurrent.BlockingQueue支持,BlockingQueue是一个接口但是我们通常可以使用LinkedBlockingQueue,它是一个无界的队列,当然我们还可以使用ArrayBlockingQueue,它拥有固定的尺寸,因此我们可以在他被阻塞之前放入有限的元素。当消费者试图从队列中获取对象时,如果队列为空,那么这些队列还可以挂起消费者任务,多么神奇的功能,那么当队列中有足够的元素可以供消费者获取,那么他可以回复消费者任务,比使用一些让人难理解的notifyAll wait要简单,并且可靠很多。简单写了两句class Produc 阅读全文

posted @ 2013-08-01 22:13 zm112358 阅读(584) 评论(0) 推荐(0) 编辑

JAVA多线程经典问题 -- 生产者 消费者

摘要: 工作2年多来一直也没有计划写自己的技术博客,最近辞职在家翻看《thingking in JAVA》,偶尔看到了生产者与消费者的一个经典的多线程同步问题。本人在工作中很少使用到多线程以及高并发方面的知识,正好回忆下以前学过的一些知识和代码,以经典的多线程问题生产者消费者问题为开篇。先上一段经典的生产者与消费者的代码class Product { private final int orderNum; public Product(int orderNum) { this.orderNum = orderNum; } public String toStrin... 阅读全文

posted @ 2013-08-01 17:25 zm112358 阅读(386) 评论(0) 推荐(0) 编辑

导航