Zmienne warunkowe bez blokowania W zmiennych warunkowych bez blokowania operacja powiadom nie powoduje opuszczenia monitora. Zamiast tego wątek oczekujący jest przenoszony do kolejki aby zaczekać, aż wątek powiadamiający zakończy swoje zadanie. Kolejka jest niepotrzebna. Czasami dodaje się dodatkową operację powiadom wszystkie, która przenosi wszystkie oczekujące wątki do

Poniżej przedstawione są implementacje poszczególnych operacji monitora. Zakładamy, że są one wykonywane atomowo:

wejście do monitora: wejdź do metody jeśli monitor jest zajęty dodaj obecny wątek do w przeciwnym wypadku zajmij monitoropuszczenie monitora: przełącz opuść metodęczekaj na dodaj obecny wątek do przełącz zablokuj obecny wątekpowiadom jeśli jest wątek czekający w wybierz i usuń z kolejki dowolny wątek dodaj do kolejki powiadom wszystkie przenieś wszystkie wątki z do kolejki przełącz: jeśli jest wątek w kolejce wybierz ten wątek, usuń go z kolejki i odblokuj w przeciwnym wypadku zwolnij monitor

Jako modyfikację proponuje się utworzenie kolejki do której przenoszone są wątki w ramach operacji powiadom i powiadom wszystkie i która ma zagwarantowane pierwszeństwo przed .