Message Queue (MQ) is a software engineering component used for communication between processes or between threads within the same process. Message queues provide an asynchronous communication protocol in which the sender and receiver of messages don't need to interact at the same time - messages are held in queue until the recipient retrieves them.
Message queues are used within operating systems or applications as a way for programs to communicate with one another. They may also be used to pass messages between computer systems.
Source: Message Queue (Techopedia)