Event Queue is a good pattern if You have a limited accesibility resource (for example: 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.
Use the Event Queue pattern when
- You have a limited accesibility resource and the asynchronous process is acceptable to reach that
- [Mihaly Kuprivecz - Event Queue] (http://gameprogrammingpatterns.com/event-queue.html)