C# - programowanie wielowątkowe

0

Witam, czy byłby ktoś w stanie ogarnąć takie dwa zadanka - chociaż połowicznie...

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

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

0

1a) Może się zdarzyć, że konsument przegapi jakąś liczbę.

  1. Dziwne zadanie, przecież jeśli w buforze jest liczba nieparzysta to wszystko stanie i nie ruszy więcej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1