Tengo dos hilos, uno que actualiza un int y otro que lo está leyendo. Este es un valor estadístico donde el orden de las lecturas y escrituras es irrelevante.¿Las lecturas y escrituras de C++ de un Atomic interno?
Mi pregunta es, ¿necesito sincronizar el acceso a este valor de varios bytes de todos modos? O, dicho de otra manera, puede que parte de la escritura se complete y se interrumpa, y luego la lectura ocurre.
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 y me preocupe? Sin duda, cuanto más grande sea el tipo, más posible es que algo así suceda.
Siempre sincronicé este tipo de accesos, pero me di cuenta de lo que piensa la comunidad.
serio? No me importaría lo que pensara la comunidad. Me importaría cuáles son los hechos :) – sehe
Interesante leer sobre el tema: http://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-1- of-2 – ereOn
Específicamente para '=': http://stackoverflow.com/questions/8290768/is-assignment-operator-atomic –