On a 64-bit machineis it safe to say that assignment to a 64-bit integer is atomic? In other words:
If 1 thread does this (C code):
unsigned __int64 a;
a = 1;
a = 0x200000000;
and another thread reads the value, it will read either 1 or 0x200000000, but never 0x200000001;
Does the address alignment of the variable matter? (i.e must that variable "a" be aligned to an 8 byte boundary?)
Is this the same on x64 versus Itanium platforms?
Thanks for any comments or pointers to a reference on this subject.