Czy aktualizacja podwójnej operacji atomowej

W Javie aktualizacja zmiennej podwójnej i długiej nie może być atomowa, ponieważ podwójne / długie są traktowane jako dwie oddzielne 32-bitowe zmienne.

http://java.sun.com/docs/books/jls/second_edition/html/memory.doc.html#28733

W C ++, jeśli używam 32-bitowego kompilatora Intel Processor + Microsoft Visual C ++, aktualizuję operację podwójną (8 bajtów) atomową?

Nie mogę znaleźć wiele wzmianek o tym zachowaniu.

Kiedy mówię „zmienna atomowa”, mam na myśli to, co mam na myśli:

Wątek A próbuje zapisać 1 do zmiennej x. Wątek B próbuje zapisać 2 do zmiennej x.

Otrzymamy wartość 1 lub 2 ze zmiennej x, ale nie wartość niezdefiniowaną.

questionAnswers(5)

yourAnswerToTheQuestion