next up previous contents
Next: Sběr statistik Up: Sklad Previous: Sklad

Příklad:

  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 frontygif.

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:

  figure72
Figure 3: Sklad



Petr Peringer
Mon Dec 8 13:24:19 CET 1997