生产者和消费者模式
来源:互联网 发布:南通千丰科技网络 编辑:程序博客网 时间:2024/06/14 20:56
生产者:
class Producer implements Runnable { protected BlockingQueue<Object> queue; Producer(BlockingQueue<Object> theQueue) { this.queue = theQueue; } public void run() { try { while (true) { Object justProduced = getResource(); queue.put(justProduced); System.out.println("Produced resource - Queue size now = " + queue.size()); } } catch (InterruptedException ex) { System.out.println("Producer INTERRUPTED"); } } Object getResource() { try { Thread.sleep(100); // simulate time passing during read } catch (InterruptedException ex) { System.out.println("Producer Read INTERRUPTED"); } return new Object(); }}
消费者:
class Consumer implements Runnable { protected BlockingQueue<Object> queue; Consumer(BlockingQueue<Object> theQueue) { this.queue = theQueue; } public void run() { try { while (true) { Object obj = queue.take(); System.out.println("Consumed resource - Queue size now = " + queue.size()); take(obj); } } catch (InterruptedException ex) { System.out.println("CONSUMER INTERRUPTED"); } } void take(Object obj) { try { Thread.sleep(100); // simulate time passing } catch (InterruptedException ex) { System.out.println("Consumer Read INTERRUPTED"); } System.out.println("Consuming object " + obj); }}
阅读全文
1 0
- 生产者和消费者模式
- 生产者和消费者模式
- 生产者和消费者模式
- 生产者和消费者模式
- synchronize和生产者消费者模式
- 关于生产者模式和消费者模式
- 阻塞队列和生产者-消费者模式
- 多线程之生产者和消费者模式
- 阻塞队列和生产者-消费者模式
- BlockingQueue阻塞队列和生产者-消费者模式
- 黑马程序员--生产者和消费者模式
- 生产者消费者模式和阻塞队列
- 多线程之生产者和消费者模式
- 生产者和消费者模式(阻塞)
- 线程同步中的“生产者和消费者”模式
- 多线程中的生产者和消费者模式
- 使用BlockingQueue实现生产者和消费者模式
- Thread的生产者和消费者模式
- 时光不会辜负你一直以来的坚持——读《人生效率手册》
- WIN10+python 3.5+tensflow 踩过的坑
- 4Sum
- Dokcer中安装JDK1.7
- Sublime Text3 自定义快捷键打开浏览器
- 生产者和消费者模式
- (十二)数据结构之快速排序算法实现
- react-native 代码片段
- MySql学习笔记(四)
- node.js中文件的流模式操作
- linux C文件读取,进程启动
- 卸载OpenJDK安装Oracle jdk
- 如何解决机器学习中数据不平衡问题
- 204. Count Primes