Can num++ be atomic for 'int num'

En general, paraint num, num++ (o++num), como una operación de lectura-modificación-escritura, esnot atomic. Pero a menudo veo compiladores, por ejemplo GCC, genera el siguiente código para ello Intenta aqu):

Desde la línea 5, que corresponde anum++ es una instrucción, podemos concluir quenum++ is atomic ¿en este caso

Y de ser así, significa que @ generado de esta manenum++ se puede usar en escenarios concurrentes (multiproceso) sin ningún peligro de carreras de datos (es decir, no necesitamos hacerlo, por ejemplo,std::atomic<int> e imponer los costos asociados, ya que de todos modos es atómico)

ACTUALIZA

Observe que esta pregunta esn si incrementae atomic (no es y esa fue y es la línea de apertura de la pregunta). Es si eslat estar en escenarios particulares, es decir, si la naturaleza de una instrucción se puede explotar en ciertos casos para evitar la sobrecarga de lalock prefijo. Y, como la respuesta aceptada menciona en la sección sobre máquinas de un solo procesador, así comoesta respuesta, la conversación en sus comentarios y otros explican,pued (aunque no con C o C ++).

Respuestas a la pregunta(13)

Su respuesta a la pregunta