Specyfikacja C# mówi, że czytanie i pisanie jest atomiczne dla typów 32-bitowych i mniejszych (jak również dla odniesień). Więc jeśli mam pole Int32 w mojej klasie, wiem, że wiele wątków może czytać i zapisywać do niego i będą one atomowe w działaniu, więc wartość zawsze będzie stała (chociaż problemy z buforowaniem są potencjalnym problemem, ale nie o to chodzi tego pytania).Atomowy rozmiar odczytu/zapisu w systemach 64-bitowych dla .NET?
Czy to samo dotyczy systemów 64-bitowych? Czy jeśli skompiluję moją aplikację na 64-bitową, oznacza to, że Int64 nadal nie jest atomowy? Czy mogę teraz uznać, że Int64 jest atomowy w trybie odczytu/zapisu, ponieważ został skompilowany i uruchomiony w systemie 64-bitowym?
W razie wątpliwości, oczywiście, "Interlocked" - ale jest to bardzo dobre pytanie. –