Queuing systems are by no means new in the world of software. Generally speaking, queues are one of the fundamental data structures most introductory computer science courses cover. Before going any further, let's briefly review the queue as a fundamental data structure in computer science.
Simply put, a queue is a collection of items where new items are pushed onto the back and pulled off the front. Consider that we're all waiting in line for a movie. Provided people follow the rules and don't line up out of order, you've waited in a queue (which is, of course, the reason British English uses queue, which is more accurate than the U.S. term line). Formally, we can define a queue as a collection of items that have the property of first-in-first-out (FIFO). The primary operators of a queue data type are enqueue and...