Data queues are similar to message queues, in that procedures and programs can send data to the queue that is received later by another procedure or program.
However, more than one program can have a receive pending on a data queue at the same time, while only one program can have a receive pending on a message queue at the same time. (Only one program receives an entry from a data queue, even if more than one program is waiting.) Entries on a data queue are handled in either first-in-first-out, last-in-first-out, or keyed-queue order. When an entry is received, it is removed from the data queue.