Access Reordering and Volatile in C#
To avoid the overhead of synchronization, some programmers will build their own optimization primitives. In C#, however, some surprising subtleties exist in what the language and runtime guarantee with respect to instruction ordering, especially to those who are familiar with the x86 architecture, which doesn’t typically perform these operations. This topic is complex, but it [ [ ...]