2017-04-22 17:16:38 +02:00
|
|
|
---
|
|
|
|
layout: pattern
|
|
|
|
title: Event Queue
|
|
|
|
folder: event-queue
|
|
|
|
permalink: /patterns/event-queue/
|
|
|
|
categories: Concurrency
|
2021-05-19 10:49:05 -06:00
|
|
|
language: en
|
2017-04-22 17:16:38 +02:00
|
|
|
tags:
|
2019-12-13 21:09:28 +02:00
|
|
|
- Game programming
|
2017-04-22 17:16:38 +02:00
|
|
|
---
|
|
|
|
|
|
|
|
## Intent
|
2017-08-31 01:50:33 +05:30
|
|
|
Event Queue is a good pattern if You have a limited accessibility resource (for example:
|
2017-04-22 17:16:38 +02:00
|
|
|
Audio or Database), but You need to handle all the requests that want to use that.
|
|
|
|
It puts all the requests in a queue and process them asynchronously.
|
|
|
|
Gives the resource for the event when it is the next in the queue and in same time
|
|
|
|
removes it from the queue.
|
|
|
|
|
2019-12-07 20:01:13 +02:00
|
|
|
## Class diagram
|
2017-04-22 17:16:38 +02:00
|
|
|

|
|
|
|
|
|
|
|
## Applicability
|
|
|
|
Use the Event Queue pattern when
|
|
|
|
|
2017-08-31 01:50:33 +05:30
|
|
|
* You have a limited accessibility resource and the asynchronous process is acceptable to reach that
|
2017-04-22 17:16:38 +02:00
|
|
|
|
|
|
|
## Credits
|
|
|
|
|
2017-05-15 10:40:12 +02:00
|
|
|
* [Mihaly Kuprivecz - Event Queue] (http://gameprogrammingpatterns.com/event-queue.html)
|