生产者消费者模式

  • 生产消费者模型

    生产者消费者模型具体来说,就是在一个系统中,存在生产者和消费者两种角色,他们经过内存缓冲区进行通讯,生产者生产消费者须要的资料,消费者把资料作成产品。生产消费者模式以下图。html

              

    在日益发展的服务类型中,譬如注册用户这种服务,它可能解耦成好几种独立的服务(帐号验证,邮箱验证码,手机短信码等)。它们做为消费者,等待用户输入数据,在前台数据提交以后会通过分解并发送到各个服务所在的url,分发的那个角色就至关于生产者。消费者在获取数据时候有可能一次不能处理完,那么它们各自有一个请求队列,那就是内存缓冲区了。作这项工做的框架叫作消息队列。数组

  • 生产者消费者模型的实现

    生产者是一堆线程,消费者是另外一堆线程,内存缓冲区可使用List数组队列,数据类型只须要定义一个简单的类就好。关键是如何处理多线程之间的协做。这其实也是多线程通讯的一个范例。多线程

    在这个模型中,最关键就是内存缓冲区为空的时候消费者必须等待,而内存缓冲区满的时候,生产者必须等待。其余时候能够是个动态平衡。值得注意的是多线程对临界区资源的操做时候必须保证在读写中只能存在一个线程,因此须要设计锁的策略。并发

    下面这个例子是书上介绍的,生产者负责生产一个数字并存入缓冲区,消费者从缓冲区中取出数据而且求出它的平方并输出。框架

转载: https://www.cnblogs.com/chentingk/p/6497107.htmlurl

相关文章
相关标签/搜索