BlockingQueue
来源:互联网 发布:天刀捏脸数据百度云 编辑:程序博客网 时间:2024/05/17 00:14
使用BlockingQueue可以实现多个生产者和消费者的场景
class Producer implements Runnable { private final BlockingQueue queue; Producer(BlockingQueue q) { queue = q; } public void run() { try { while (true) { queue.put(produce()); } } catch (InterruptedException ex) { ... handle ...} } Object produce() { ... } } class Consumer implements Runnable { private final BlockingQueue queue; Consumer(BlockingQueue q) { queue = q; } public void run() { try { while (true) { consume(queue.take()); } } catch (InterruptedException ex) { ... handle ...} } void consume(Object x) { ... } } class Setup { void main() { BlockingQueue q = new SomeQueueImplementation(); Producer p = new Producer(q); Consumer c1 = new Consumer(q); Consumer c2 = new Consumer(q); new Thread(p).start(); new Thread(c1).start(); new Thread(c2).start(); } }
0 0
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- BlockingQueue
- javascript读取和修改原型特别需要注意的事儿,因为原型的读写不具有对等性
- 同步FIFO的Verilog实现
- Java 加载Properties文件的六种方式
- Git(一):Git与版本控制简介
- 对象与类
- BlockingQueue
- HDU 5042 分段乱搞
- 补充前面Java 加载Properties文件的六种方式
- API藏得这么深好么
- CSS3 简单的链接文本自定义下划线
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第8章节--配送SP2013Apps
- (转载)一种简单而有趣的数据结构——并查集
- hdu5056(找相同字母不出现k次的子串个数)
- 【软工总结】——概述