Przykład
Do opracowania

Rozwiązanie
Ze względu na wydajność unikaj korzystania z metody sleep().
Używaj w zamian metod wait() i notifyAll().