转自:java并发编程实战 5.3阻塞队列和生产者-消费者模式 BlockingQueue阻塞队列提供可阻塞的put和take方法,以及支持定时的offer和poll方法。如果队列已经满了,那么put方法将阻塞直到空间可用;如果队列为空,那么take方法将阻塞直到有元素可用。队列可以是有界的也可以是
分类:
编程语言 时间:
2016-03-07 22:33:03
阅读次数:
226
使用阻塞队列代码要简单得多,不需要再单独考虑同步和线程间通信的问题 在并发编程中,一般推荐使用阻塞队列 public class BolckQuene_Pro_Con { private int queueSize = 10;//队列允许存放的最大数 private ArrayBlockingQue
分类:
其他好文 时间:
2016-03-01 17:18:52
阅读次数:
129
胶多不粘话多不甜,直接上代码: 生产者类: /** * Created by 51304 on 2016/2/28. */ public class P { private String lock; public P(String lock){ this.lock = lock; } public
分类:
编程语言 时间:
2016-02-28 12:19:28
阅读次数:
126
这名字可能对没听说过的朋友来说会有点莫名其妙,不过当你看过此文后应该会对其有个一定了解。由于是笔者的学习笔记,所以不妥之处请留言修改,共同进步。 学习背景: 多人操作一个文件。如网站后台管理人员(多个)往一个文件添加数据。具体例子如添加图书信息时,同步创建Lucene.net的索引。 产生问题: 上
分类:
其他好文 时间:
2016-02-20 00:25:56
阅读次数:
149
说明如果 使用过程中有BUG 一定要告诉我:在下面留言或者给我邮件(sawpara at 126 dot com)使用boost::thread库来实现生产者消费者模型中的缓冲区!
仓库内最多可以存放 capacity 个产品。
条件变量 condition_put 标记是否可以往仓库中存放一个产品。
条件变量 condition_get 标记是否可以从仓库中取出一个产品。
互斥量 mutexer...
分类:
编程语言 时间:
2016-02-17 17:33:02
阅读次数:
265
春节回了趟老家,又体验了一次流水席,由于桌席多,导致上菜慢,于是在等待间,总结了一下出菜流程的几个特点: 1.有多个灶台,多个灶台都在同时做菜出来。 2.做出来的菜,会有专人用一个托盘端出来,每次端出来的菜(是同一个菜品)的数量不等。 3.由于端出来的菜可能不能满足所有的桌数,所以,端菜人可能会随机
分类:
编程语言 时间:
2016-02-14 12:51:38
阅读次数:
240
wait(),notify()和notifyAll()都是Java基类java.lang.Object的方法。 通俗解释wait():在当前线程等待其它线程唤醒。notify(): 唤醒一个线程正在等待这个对象的监视器。notifyAll(): 唤醒在这个对象监视器上等待的所有线程。这三个方法,都是
分类:
编程语言 时间:
2016-02-14 01:41:13
阅读次数:
304
设计思路采用生产者消费者模式,生产者生产报表消费者消费报表生成pdf文件其中报表以html形式存储在线程安全列表中.使用到技术有:多线程协作,线程池,线程安全,html 生成pdf. 一.生产者生成html模版,方式通过多线程将数据和html模版整合技术是使用freemarker. 1.ValPdf
分类:
编程语言 时间:
2016-02-05 01:49:46
阅读次数:
222
转自:http://chengjianxiaoxue.iteye.com/blog/2190488 1 kafka集群搭建 1.zookeeper集群 搭建在110, 111,112 2.kafka使用3个节点110, 111,112 修改配置文件config/server.properties b
分类:
编程语言 时间:
2016-02-03 18:19:57
阅读次数:
221