2015-10-28 09:55:05 +08:00
|
|
|
---
|
|
|
|
layout: pattern
|
|
|
|
title: Producer Consumer
|
|
|
|
folder: producer-consumer
|
|
|
|
permalink: /patterns/producer-consumer/
|
2016-08-30 15:10:34 +02:00
|
|
|
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
|
|
|
---
|
|
|
|
|
2016-01-03 21:14:30 +01: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
|
|
|
|
|
|
|

|
|
|
|
|
2016-01-03 21:14:30 +01:00
|
|
|
## 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
|