Cześć :)
Założmy, że mamy trzy typy wątków: A, B, C. Dla każdego typu wątku mamy napisać dwie metody- wpuszczające do biblioteki oraz po wyjściu z biblioteki. Chodzi o to że, w bibliotece nie mogą znajdować się naraz wątku różnych typów. To znaczy w bibliotece nie może znaleźć się jednocześnie wątek typu A i B, albo B i C itd. Ale może już znaleźć się kilka wątków tego samego typu. Np. jeżeli w bibliotece siedzi dziesięć wątków A i kolejny wyraża chęć to go wpuszczamy. Taka strategia dopuszcza zagłodzenia, ale się tym nie przejmujemy. Jak można zaimplementować to w Javie nie używając słowa kluczowego synchronized?