27 lines
802 B
Markdown
Raw Normal View History

2015-10-28 09:55:05 +08:00
---
layout: pattern
title: Producer Consumer
folder: producer-consumer
permalink: /patterns/producer-consumer/
pumlid: PSjB3iCW303HgxG70Ezx6zTO2HKso9_a-c7VtUX9y-vA8nkdZTSPiVm3O7ZNeyUPttGscXgiKMaAz94t1XhyyCBIsFkXPM44cpe8-WvODbiIMzcdfspXe7-jQL9NodW0
2015-12-28 15:52:44 +02:00
categories: Concurrency
tags:
- Java
- Difficulty-Intermediate
- I/O
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
![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