Podstawy tworzenia aplikacji korporacyjnych – ćwiczenia 8 1. Synchronizacja wątków
Stwórz aplikację realizującą model producent-konsument. Niech zawiera dwa wątki (typu Thread): producenta I konsumenta. Producent generuje liczby od 0 do 9, które są następnie składowane w odpowiednim obiekcie (np. Pudełko), wspólnym dla wątku producenta i konsumenta. Producent po włożeniu do pudełka liczby i wyświetleniu jej na ekranie zostaje uśpiony na losowy wybrany czas między 0 a 100 milisekund zanim przejdzie do następnego cyklu produkcji liczby.
Konsument natomiast podczas swego działania konsumuje wszystkie liczby złożone w pudełku tak szybko, jak staną się one dostępne. Ma prawo pobrać każdą wyprodukowaną liczbę tylko raz.
Niech wspólny obiekt Pudełko ma dwie metody: weź() i włóż(), które zapewnią synchronizację między dwoma wątkami. Wykorzystaj do tego metody synchroniczne.