Wikidata facts
- Subclass of
- lock
Show 2 more facts
- Stack Exchange tag
- stackoverflow.com/tags/spinlock
- uses
- busy waiting
Sources (1)
via Wikidata · CC0
Article · Polski
Spinlock (wirująca blokada) – sposób realizacji synchronizacji międzyprocesowej, w którym oczekiwanie na zwolnienie blokady polega na ciągłym badaniu jej stanu. Spinlock działa więc na zasadzie aktywnego oczekiwania, tj. zużywa czas procesora, wykonując cały czas pustą pętlę: while blokada aktywna do {nic nie rób}; W systemach operacyjnych z podziałem czasu, ten rodzaj synchronizacji na poziomie aplikacji jest zwykle nieefektywny, lepiej sprawdzają się systemowe obiekty synchronizujące, jak muteksy. Z kolei w systemach wieloprocesorowych spinlock może być bardziej efektywny, ponieważ pętla wykonuje się w kontekście procesu - unika się kosztownego czasowo wstrzymania procesu i przełączenia kontekstu na kod systemowy. W systemie Windows NT sekcje krytyczne na maszynach wieloprocesorowych używają podejścia mieszanego: najpierw określoną liczbę razy sprawdza się, czy blokada została zwolniona, dopiero jeśli w tym czasie się nie zwolni, realizowany jest systemowy kod synchronizacji.
Abstract from DBpedia / Wikipedia · CC BY-SA