Mechanizmy synchronizacji poprawnie działające w systemach jedno-i wieloprocesorowych (przegląd wielu wersji UNIX’a):
- semafor,
- blokada wyłączna (ang. exclusive lock) - muteks (ang. mutex),
- blokada wirująca (ang. spin lock) nazywana również blokadą prostą (ang. simpie lock),
- zmienna warunkowa,
- zdarzenie (ang. evenf),
- blokada wstrzymująca,
- blokada typu czytelnicy-pisarze,
- blokada rekurencyjna - próba ponownego nałożenia blokady przez wątek, który ją już nałożył, nie powoduje wstrzymania wątku - unika się w ten sposób zakleszczeń procesów,
- blokada adaptacyjna (z Solaris 2.x) - gdy wątek W1 próbuje nałożyć blokadę, którą nałożył już wątek W2, sprawdza, czy wątek W2 jest obecnie aktywny na innym procesorze. Wątek W1 aktywnie czeka tak długo, jak długo jest aktywny wątek W2. Gdy W2 zostanie wstrzymany, wstrzymuje się także wątek W1.
© Marek Nowak
Programowanie współbieżne w systemach operacyjnych UNIX