Fronta (datová struktura)

Z Wikipedie, otevřené encyklopedie
(Přesměrováno z Fronta (programování))
Skočit na: Navigace, Hledání
Znázornění fronty

Fronta je v programování abstraktní datový typ typu FIFO (z anglického First In, First Out, česky První dovnitř, první ven). Fronta používaná v operačních systémech pro meziprocesovou komunikaci je také nazývána roura (angl. pipe). Opakem fronty FIFO je zásobník (LIFO).

Minimální implementace fronty[editovat]

  • inicializace fronty (create)
  • vlož položku na konec fronty (write)
  • vyber položku ze začátku fronty s čekáním, pokud je fronta prázdná (read)
  • vyber položku ze začátku fronty bez čekání - doplňková funkce

Synchronizace[editovat]

Fronta zpráv je synchronizační primitivum. Skládá se z fronty, do které se ukládají zprávy, funkce pro odeslání zprávy (která může blokovat při zaplnění fronty) a funkce pro přijetí zprávy, která blokuje proces pokud zpráva není přítomna. Fronta může být pojmenovaná nebo může patřit konkrétnímu programu (a nikdo jiný z ní nesmí zprávy číst).

V praxi existuje obvykle i funkce zjišťující, zda je přítomna zpráva (bez čekání), ale pro funkci synchronizačního primitiva není potřebná.

Související články[editovat]