Simplemente se preguntó si lo anterior es cierto o si las asignaciones de referencia se dividen en dos operaciones¿Las asignaciones de referencia son verdaderamente atómicas, incluso en una máquina de 64 bits?
¿Es este el motivo por el que necesita usar Interlocked.Exchange
?
¿Alguien puede confirmarlo?
Estoy hablando de asignación de puntero aquí - ¿Es realmente atómico?
¿Estás seguro de eso? Si corremos en una máquina de 64 bits, el puntero es de 8 bytes - ¿Es realmente atómico? –
Sí, compruebe la propiedad 'IntPtr.Size': http://msdn.microsoft.com/en-us/library/system.intptr.size.aspx Pero no se confunda con el modo OS. Puede ejecutar 64 bit OS y aún ejecutar en modo x86 su aplicación .NET si lo especifica explícitamente durante la compilación. –