24 lines
640 B
Markdown
Raw Permalink Normal View History

2015-10-28 09:55:05 +08:00
---
layout: pattern
title: Producer Consumer
folder: producer-consumer
permalink: /patterns/producer-consumer/
2015-12-28 15:52:44 +02:00
categories: Concurrency
tags:
2016-07-21 09:27:48 +03:00
- Reactive
2015-10-28 09:55:05 +08:00
---
## Intent
Producer Consumer Design pattern is a classic concurrency pattern which reduces
2015-10-28 09:55:05 +08:00
coupling between Producer and Consumer by separating Identification of work with Execution of
2015-12-28 15:52:44 +02:00
Work.
2015-10-28 09:55:05 +08:00
## Class diagram
2015-10-28 09:55:05 +08:00
![alt text](./etc/producer-consumer.png "Producer Consumer")
## Applicability
Use the Producer Consumer idiom when
2015-10-28 09:55:05 +08:00
* Decouple system by separate work in two process produce and consume.
* Addresses the issue of different timing require to produce work or consuming work