Zapobiega to uruchamianiu kodu w sekcji krytycznej, oraz chroni przed zmianami procesów opartych na technologii przerwań.

W komputerach, które dzielą pamięć między własnymi procesorami, niepodzielna instrukcja test-and-set flagi jest używana w pętlach w celu przeczekania do momentu aż procesor wyczyści flagę. Instrukcja ta przeprowadza dwie operacje bez wypuszczania pamięci z wyłączności. Kiedy kod opuszcza sekcje krytyczną, czyści flagę. Nazywa się to „Spinlock” lub „Busy wait”.

Podobną operacją atomową jest “compare-and-swap” używana do synchronizacji nieblokującej dla list łączonych i innych struktur danych.

Rozwiązania programowe Implementacja muteksu musi spełniać następujące warunki: Niedoprowadzanie do blokady – gdy kilka procesów wyraża chęć wejścia do sekcji krytycznej, jeden z nich musi w końcu wejść. Nie może prowadzić do zagłodzenia – jeśli pewien proces wyraża chęć wejścia do sekcji krytycznej, to musi być w końcu dopuszczony. Jest to tak zwana uczciwość.