¿Son C ++ lecturas y escrituras de un int Atomic?

Tengo dos hilos, uno que actualiza un int y otro que lo lee. Este es un valor estadístico donde el orden de las lecturas y escrituras es irrelevante.

Mi pregunta es, ¿necesito sincronizar el acceso a este valor de varios bytes de todos modos? O, dicho de otra manera, puede completar una parte de la escritura e interrumpirla, y luego suceder la lectura.

Por ejemplo, piense en un valor = 0x0000FFFF que obtiene un valor incrementado de 0x00010000.

¿Hay algún momento en el que el valor se vea como 0x0001FFFF que deba preocuparme? Ciertamente, cuanto más grande es el tipo, más posible es que suceda algo como esto.

Siempre he sincronizado este tipo de accesos, pero tenía curiosidad por saber qué piensa la comunidad.

Respuestas a la pregunta(15)

Su respuesta a la pregunta