Dlaczego potrzebujemy prefiksu blokady przed CMPXCHG [duplikat]

To pytanie ma już odpowiedź tutaj:

Czy X86 CMPXCHG jest atomowy, jeśli tak, dlaczego potrzebuje LOCK? 3 odpowiedzi

dlaczego potrzebujemy prefiksu blokady przed CMPXCHG w architekturze Intel. proszę zobaczyć w celu odniesieniahttp: //courses.engr.illinois.edu/ece390/archive/spr2002/books/labmanual/inst-ref-cmpxchg.htm

co nie jestem pewien, jakie są konsekwencje, jeśli nie używam blokady. ponieważ między załadowaniem wartości do eax a przekroczeniem LOCK CMPXCHG wartość można zmienić niezależnie od prefiksu blokady, ponieważ ładowanie wartości do eax i LOCK CMPXCHG to dwie instrukcje.

Chcę powiedzieć, że jeśli nie używam CMPXCHG, najgorszą rzeczą, jaka może się zdarzyć, jest to, że muszę ponownie zakręcić.

questionAnswers(1)

yourAnswerToTheQuestion