race condition: wyścig
Instrukcja ta może zostać wykonana w następujący sposób:
1. Załadowanie wartości do rejestru.
2. Zwiększenie wartości.
3. Zapisanie wyniku.
Wyobraźmy sobie teraz, że pierwszy z wątków wykonuje dwa pierwsze kroki i zostaje wywłaszczony. Następnie budzi się drugi wątek, który aktualizuje tę samą pozycję. Potem budzi się pierwszy wątek i kończy działanie, wykonując krok trzeci.
Ta czynność wymazuje zmiany dokonane przez drugi wątek, w wyniku czego zmienia się ogólna suma.
Pomóż nam się rozwijać, wykupując płatne konto. Dzięki temu będziemy mogli tworzyć dla Ciebie jeszcze więcej ciekawych treści, a Ty pozbędziesz się reklam.
