A message queue is a software engineering fandamental used for communication between processes or between threads within the same process.
The put-get- delete paradigm, which many information queues use, requires a process to explicitly indicate that it has finished prepare a message before the message is removed from the queue, ensuring your data is kept safe until you're done
In microcomputer science, message queues and mailboxes are software-engineering components used for inter-process conversation (IPC), or for inter-thread communication within the same process. They use a queue for messaging – the passing of control or of content. Group communication systems arrange similar kinds of functionality.
The message queue paradigm is a sibling of the publisher/donor pattern, and is typically one part of a larger message-oriented middleware system. Most messaging systems support both the publisher/subscriber and message queue models in their API.