Monitory z niejawnym warunkiem W języku Java każdy obiekt może stać się monitorem, przy czym metody, których dotyczy wykluczanie, muszą być oznaczone modyfikatorem synchronized. Zamiast udostępniać jawne zmienne warunkowe, każdy monitor wyposażony jest w pojedynczą kolejkę obok kolejki wejściowej. Wszystkie operacje dotyczą tej jednej kolejki, co pozwala skojarzyć z monitorem co najwyżej jeden warunek. Aby zastosować więcej zmiennych warunkowych, należy ręcznie dodać do klasy obiekt Lock i przy jego pomocy utworzyć odpowiednią liczbę zmiennych. Programista musi wtedy samodzielnie zajmować się wywołaniem odpowiednich operacji przy wchodzeniu i opuszczaniu monitora.

Identyczne podejście zostało zaimplementowane także w innych językach, jak np. C#.

Przypisy

Kategoria:Konstrukcje programistyczne Kategoria:Programowanie równoległe