В программировании очень часто возникает задача управления порядком обработки данных: что обрабатывать первым, что - последним, и почему.
Для этого используются два фундаментальных принципа:
Эти подходы лежат в основе структур данных, алгоритмов, многопоточности, сетевых приложений и даже работы операционных систем.
Что такое FIFO
FIFO - принцип, при котором элемент, добавленный первым, обрабатывается первым.
Аналогия из жизни:
FIFO реализуется с помощью очереди (Queue).
Добавление → [A][B][C] → Удаление
↑ ↑
первый последний
Что такое LIFO
LIFO - принцип, при котором последний добавленный элемент обрабатывается первым.
Аналогия из жизни:
LIFO реализуется с помощью стека (Stack).
↑ Удаление
[C]
[B]
[A]
↓ Добавление
Source: Orkhan Alishov's notes