Blokada typu spinlock to metoda synchronizacji międzyprocesowej, w której oczekiwanie na zwolnienie blokady polega na ciągłym badaniu jej stanu (aktywne oczekiwanie).
Spinlock:
Inicjalizacja.
Zdobycie blokady.
Zwolnienie blokady.
typedef unsigned long spinlock_t; spinlock_init(spinlock_t *lock) { *lock = 1; } spinlock_lock(spinlock_t *lock) { zaladuj_do_rejestru(rejestrA, 0); do xchg(rejestrA, lock); while (wartosc_w_rejestrze(rejestrA)!=1) } spinlock_unlock(spinlock_t *lock) { zaladuj_do_rejestru(rejestrA, 1); xchg(rejestrA, lock); }