Witam, czy byłby ktoś w stanie ogarnąć takie dwa zadanka - chociaż połowicznie...
- Napisać program, który uruchamia 3 wątki: producenta i dwóch konsumentów. Producent generuje losowe liczby całkowite (np. 500 razy) i zapisuje je do bufora będącego pojedynczą liczbą całkowitą, a konsumenci liczby te z bufora czytają.
Rozważyć dwie sytuacje:
a) na początek bez synchronizacji (każdy czyta, co się uda);
b) z zastosowaniem systemowych środków synchronizacji: producent produkuje liczbę całkowitą i czeka, aż każdy z dwóch konsumentów liczbę tę odczyta.
- Napisać program, który uruchamia 3 wątki, z których każdy czyta (do 200 razy) zmienną całkowitą umieszczoną w jednoelementowym buforze i jeśli jest ona parzysta, natychmiast losuje do bufora nową liczbę (jeśli jest nieparzysta — za chwile ponawia odczyt).
Rozważyć dwie sytuacje:
a) bez jakiejkolwiek synchronizacji;
b) z zastosowaniem systemowych środków synchronizacji: jednocześnie tylko jeden wątek może czytać z/pisac do bufora. Proszę wyposażyć wątki w możliwość wypisywania na ekranie (np. w oddzielnych komponentach Memo) odczytanych liczb. Być może trzeba będzie wprowadzic drobne opóżnienia między kolejnymi odwołaniami do bufora.