FIFO (computing and electronics)

[1] FIFO's opposite is LIFO, last-in-first-out, where the youngest entry or "top of the stack" is processed first.

[2] A priority queue is neither FIFO or LIFO but may adopt similar behaviour temporarily or by default.

Depending on the application, a FIFO could be implemented as a hardware shift register, or using different memory structures, typically a circular buffer or a kind of list.

Some devices feature multiple FIFOs for simultaneously and independently queuing different types of information.

[3] FIFOs are commonly used in electronic circuits for buffering and flow control between hardware and software.

In its hardware form, a FIFO primarily consists of a set of read and write pointers, storage and control logic.

Conversely, one may use either a leaky bucket approach or pointer arithmetic to generate flags in synchronous FIFO implementations.

Representation of a FIFO queue
Representation of a FIFO queue with enqueue and dequeue operations.
A FIFO schedule