Por qué necesitamos el prefijo de bloqueo antes de CMPXCHG [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Is x86 CMPXCHG atomic, si es así, ¿por qué necesita LOCK? 3 respuestas

por qué necesitamos el prefijo de bloqueo antes de CMPXCHG en la arquitectura de Intel. por favor vea para referenciahttp: //courses.engr.illinois.edu/ece390/archive/spr2002/books/labmanual/inst-ref-cmpxchg.htm

lo que no estoy seguro de cuáles son las consecuencias si no usa el bloqueo. porque entre cargar el valor en eax y exceder LOCK CMPXCHG, el valor podría cambiarse independientemente del prefijo de bloqueo porque cargar el valor en eax y LOCK CMPXCHG son dos instrucciones.

Quiero decir que si no uso CMPXCHG, lo peor que podría pasar es que tenga que girar nuevamente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta