A Queue is a linear data structure. This data structure follows a particular order in which the operations are performed. The order is First In First Out (FIFO).
- Network: In a network, a queue is used in devices such as a router or a switch. another application of a queue is a mail queue which is a directory that stores data and controls files for mail messages.
- Job Scheduling: The computer has a task to execute a particular number of jobs that are scheduled to be executed one after another. These jobs are assigned to the processor one by one which is organized using a queue.
- Shared resources: Queues are used as waiting lists for a single shared resource.

Real-time application of Queue:
- Working as a buffer between a slow and a fast device. For example keyboard and CPU, and two devices on network.
- ATM Booth Line
- Ticket Counter Line
- CPU task scheduling
- Waiting time of each customer at call centers.
Advantages of Queue:
- Queues are useful when a particular service is used by multiple consumers.
- Queues are fast in speed for data inter-process communication.
- Queues can be used for the implementation of other data structures.

Disadvantages of Queue:
- The operations such as insertion and deletion of elements from the middle are time consuming.
- In a classical queue, a new element can only be inserted when the existing elements are deleted from the queue.
- Searching an element takes O(N) time.
- Maximum size of a queue must be defined prior in case of array implementation.