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: