转自:java并发编程实战 5.3阻塞队列和生产者-消费者模式 BlockingQueue阻塞队列提供可阻塞的put和take方法,以及支持定时的offer和poll方法。如果队列已经满了,那么put方法将阻塞直到空间可用;如果队列为空,那么take方法将阻塞直到有元素可用。队列可以是有界的也可以是
分类:
编程语言 时间:
2016-03-07 22:33:03
阅读次数:
226
胶多不粘话多不甜,直接上代码: 生产者类: /** * 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
Enable multiple concurrent consumers to process messages received on the same messaging channel. This pattern enables a system to process multiple mes...
分类:
其他好文 时间:
2016-02-23 17:13:52
阅读次数:
439
这名字可能对没听说过的朋友来说会有点莫名其妙,不过当你看过此文后应该会对其有个一定了解。由于是笔者的学习笔记,所以不妥之处请留言修改,共同进步。 学习背景: 多人操作一个文件。如网站后台管理人员(多个)往一个文件添加数据。具体例子如添加图书信息时,同步创建Lucene.net的索引。 产生问题: 上
分类:
其他好文 时间:
2016-02-20 00:25:56
阅读次数:
149
春节回了趟老家,又体验了一次流水席,由于桌席多,导致上菜慢,于是在等待间,总结了一下出菜流程的几个特点: 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
用 threading.Event() 也可以实现生产者/消费者模式 (自己拍脑袋想出来的,无法知道其正确性,请大神告知为谢!) import threading import time import random products = 20 class Producer(threading.Thr
分类:
编程语言 时间:
2016-02-03 06:40:07
阅读次数:
286
我们已经知道,对公共资源进行互斥访问,可以使用Lock上锁,或者使用RLock去重入锁。 但是这些都只是方便于处理简单的同步现象,我们甚至还不能很合理的去解决使用Lock锁带来的死锁问题。 要解决更复杂的同步问题,就必须考虑别的办法了。 threading提供的Condition对象提供了对复杂线程
分类:
编程语言 时间:
2016-02-03 01:54:21
阅读次数:
179
package queue; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExe
分类:
其他好文 时间:
2016-02-02 01:10:49
阅读次数:
159