mały|Przykład algorytmu wzajemnego wykluczania Algorytmy wzajemnego wykluczania (w skrócie często nazywane mutex, z ang. mutual exclusion) są używane w przetwarzaniu współbieżnym w celu uniknięcia równoczesnego użycia wspólnego zasobu (np. zmiennej globalnej) przez różne wątki/procesy w częściach kodu zwanych sekcjami krytycznymi. Sekcja krytyczna jest fragmentem kodu, w którym wątki (lub procesy) odwołują się do wspólnego zasobu. Sama w sobie nie jest ani mechanizmem, ani algorytmem wzajemnego wykluczania. Program, proces lub wątek może posiadać sekcje krytyczne bez mechanizmów czy algorytmów implementujących wzajemne wykluczanie.

Przykładami takich zasobów są flagi drobnoziarniste, liczniki czy kolejki, używane do komunikacji pomiędzy wykonywanymi współbieżnie częściami kodu, takimi jak aplikacje i ich procedury obsługi przerwań. Synchronizacja dostępu do tych zasobów nie jest prostym zagadnieniem, ponieważ wątki mogą być zatrzymywane i uruchamiane w różnych momentach.