ZadamiSO 9
Producent - produkuje produkty. Konsument - konsumuje produkty wytworzone przez producenta.
Tempa produkcji I konsumpcji są różne (iii poikuRk ukuiif)'
Między producentem a konsumentem jest magazyn (Tablica lub sto* o pojemność112 elementów).
Producent produkuje literę A l wkłada ją do magazynu kolejno w wolną przestrzeń.
Na starcie magazyn jest pusty , co symbolizuje wypełnienia magazynu gwiazdkami
* * * | • » • • • • t
Po jakimś czasie stan magazynu mole być jal AA A A A A • • • *
Ograniczenia:
1. Konsument może tyto pobierać produkty z m
2. Producent może tyfto wkładać produkty dom
3. Producent i konsument ecie paebfwat jednocześnie<
Problemy do rozwiązania:
1. Wykluczyć Jednoczesne przebywanie Producenta
2. Zawiesić konsumpcję gdy magazyn jest pusty
% Należy wyświetlać sukcesywnie stan magazynu *- Sygnalizować gdy magazyn Jest pełny lub pusty *■; Producent i Konsument to niezależne procesy Narzędziami synchronizacji są semafory
gazynu
gazynu
U przykbdowy aaofact *m char sA(i28j; int topA;
vołd InłtStackO {topA ■ 0;}
void Push(int data) { sA(topA++] = data;)
Int PopQ {return (sA[-topA]);}