A
first-in first-out data structure used to
sequence objects. Objects are added to the tail of the queue
("enqueued") and taken off the head ("dequeued").
For example, an
operating system might use a queue to
serialise
concurrent demands for a resource such as a
printer,
processor or communications channel. Users might
place files on a print queue and a
background process or
"
demon" would take them off and print them. Another common
use is to pass data between an
interrupt handler and a user
process.