Producenci i konsumenci - ciekawe warianty

Należy rozwiązać oba zadania za pomocą semaforów lub monitorów (do wyboru) dostępnych w języku Java. Można korzystać z :

Zadania

  1. Przetwarzanie potokowe z buforem Zaimplementować rozwiązanie przetwarzania potokowego (Przykładowe załozenia: bufor rozmiaru 100, 1 producent, 1 konsument, 5 uszeregowanych procesów przetwarzających.) Od czego zależy prędkość obróbki w tym systemie ? Rozwiązanie za pomocą semaforów lub monitorów (dowolnie)

  2. Producenci i konsumenci z losową iloscią pobieranych i wstawianych porcji

    Wyjasnić po co zalozenie o M.

    Zaimplementować rozwiązanie z losową liczbą porcji w dwóch wariantach:

    Proszę uruchomić obydwa warianty algorytmu dla wielu producentów i konsumentów, a następnie zmierzyć i przedstawić na wykresie porównawczym (osobno dla producentów i konsumentów) średni czas oczekiwania na dostęp do bufora w zależności od wielkości porcji (czas metod put() i get()).

    Uwagi:

    [1] Problemy pochodzą z książki Z. Weiss, T. Gruzlewski, Programowanie wspolbiezne i rozproszone.