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 respuestaspor 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.