AD 1. Napisano: W rozwiązaniu zastosuj semafory dostępne w JDK 5.0</quote>
Więc nie wiem czy mogę skorzystać z SynchronousQueue, to nie semafory.
AD 2. No jest semaforem licznikowym, ale to nie gotowiec rozwiązania problemu :) W sumie najłatwiej byłoby skorzystać z CyclicBarrier, no ale semafory licznikowe to semafory licznikowe.
PS. Przykładowy szkiellet dla kosnumenta:
process Konsument[i = 1 to LK] {
while (true) {
PB(full); // czekaj az pełny
data=bufPobierz(); // pobierz z bufora
VB(empty); // sygnalizuj pusty bufor
... // konsumuj dane
}
}
Jak zrealizować tę linię kodu:
process Konsument[i = 1 to LK]
z resztą sobie poradzę...
Ma być to pętla? Lista konsumentów?