Fronta (programování)
Z Wikipedie, otevřené encyklopedie
Fronta v programování je abstraktní datový typ typu FIFO z anglického First In, First Out - první dovnitř, první ven - (Srovnej s LIFO). Fronta v operačních systémech pro meziprocesovou komunikaci se také názývá roura (angl. pipe).
[editovat] Minimální implementace fronty
- inicializace fronty (create)
- vlož položku na začátek fronty (write)
- vyber položku z konce fronty s čekáním pokud je fronta prázdná (read)
- vyber položku z konce fronty bez čekání - doplňková funkce
[editovat] Synchronizace
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á.