Wiele sposobów wzajemnego wykluczania daje efekty uboczne, np. klasyczne semafory mogą prowadzić do zakleszczeń – gdy jeden proces dostaje semafor, a inny proces dostaje drugi semafor, wówczas oba procesy czekają na wzajemnie przez siebie zajęte semafory. Inny efekt uboczny polega na zagłodzeniu, w którym jeden proces nigdy nie otrzyma wystarczającej ilości zasobów do wykonania polecenia, inwersja priorytetów, w której wątek o wyższym priorytecie czeka na wątek z niższym priorytetem, gdzie duże opóźnienie może powodować brak odpowiedzi na przerwanie.

Badanie skierowane na eliminowanie powyższych efektów polega na gwarantowaniu synchronizacji nieblokujących. Nie opisano do tej pory schematów bez skutków ubocznych.

Czytaj też Michel Raynal: Algorithms for Mutual Exclusion, MIT Press, Sunil R. Das, Pradip K. Srimani: Distributed Mutual Exclusion Algorithms, IEEE Computer Society, Thomas W. Christopher, George K. Thiruvathukal: High-Performance Java Platform Computing, Prentice Hall, Gadi Taubenfeld, Synchronization Algorithms and Concurrent Programming,