Message Queues. Three Patterns for Asynchronous Information Exchange

Wolfgang Herzner
2003 European Conference on Pattern Languages of Programs  
Information exchange between concurrent processing elements like threads or tasks is one of the fundamental issues in information processing systems. In many cases, this information transfer needs to occur asynchronously, i.e. the 'consumer' must be enabled to receive the information at some later point in time than the 'producer' provides it. Of course, this may apply to data transfer within a sequential processing element as well. Messages and their intermediate storage in queues are one of
more » ... e most common solutions to this problem. This paper describes three patterns, addressing different combinations of requirements: the simple FIFO QUEUE, the SELECTABLE-MESSAGE QUEUE, and the SMART-MESSAGE QUEUE.
dblp:conf/europlop/Herzner03 fatcat:tvvlmglsljd67p647fh2plbrai