Store Sto("Sto",100);
Sklad má metody pro zjištění volné kapacity (Free
) a predikáty pro
testování, je-li prázdný (Empty
) nebo plný (Full
). Procesy
obsazují sklad operacemi Enter
a Leave
.
Enter(<identifikátor skladu>, <výraz>); Leave(<identifikátor skladu>, <výraz>);
Výraz udává obsazovanou, resp. uvolňovanou kapacitu skladu. Je
chybou, když požadovaná kapacita je větší, než deklarovaná
kapacita skladu. Příklad ukazuje obsazení a uvolnění deseti
jednotek kapacity skladu S
:
Enter(S,10); Wait(10); Leave(S,10);
Příkaz Enter
může způsobit čekání procesu na volnou kapacitu.
Čekající procesy se řadí do fronty podle priorit, první je
proces s nejvyšší prioritou. Příkaz Leave
uvolňuje zadanou
kapacitu a v případě neprázdné vstupní fronty obsazuje sklad
první objekt z fronty.
Sklad automaticky uchovává statistiky, potřebné k výpočtu
průměrného využití. Výstup statistik skladu lze provést metodou
Output
. Do standardního výstupního souboru se tisknou tyto
informace: