设计模式_生产者消费者

Posted mrerror

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式_生产者消费者相关的知识,希望对你有一定的参考价值。

生产者与消费者
处在中游的既是上游生产者的消费者,又是下游消费者的生产者;因为生产者与消费者之间存在对公共资源的读写,所以要求实现锁机制以保证线程安全;
这是一种基于流水线形式的设计模式,而流水线就是内存缓冲区,内存缓冲区为空的时候消费者必须等待,而内存缓冲区满的时候,生产者必须等待,通过内存缓冲区进行通信;
消费者在获取数据时候有可能一次不能处理完,那么它们各自有一个请求队列在内存缓冲区,做这项工作的框架叫做消息队列。
对比并行计算要求证明分割的两部分在因果上没有关联,则可以进行并行计算。

(1)Object的wait() / notify()方法  synchronized{}

(2)Lock和Condition的await() / signal()方法

(3)BlockingQueue阻塞队列方法

  java.util.concurrent.ArrayBlockingQueue

  java.util.concurrent.LinkedBlockingQueue

  java.util.concurrent.SynchronousQueue

  java.util.concurrent.PriorityBlockingQueue

(4)PipedInputStream / PipedOutputStream





以上是关于设计模式_生产者消费者的主要内容,如果未能解决你的问题,请参考以下文章

python实现生产者和消费者模式

Java多线程_生产者消费者模式1

RbbitMQ04_Spring整合RabbitMQ实现发布与订阅模式路由模式通配符模式

python 多线程笔记-- 生产者/消费者模式(续)

Java--多线程之生产者消费者模式;线程池ExecutorService

JUC - 多线程之Synchronized和Lock锁;生产者消费者模式