请问昨天的一个笔试题目

请教昨天的一个笔试题目
在Intel CPU上,以下多线程对int型变量x的操作,哪几个不是原子操作,假定变量的地址都是对齐的 [多项选择]( )
A. x=y
B. x++
C. ++x
D. x=1

A的过程为,取y的值到寄存器,然后把寄存器的值给x所在的内存。 所以A不是原子操作

B. 开辟一个临时变量。然后把原来的变量+1操作。 应当也不是原子操作。

C。 直接 inc, 应当是原子操作

D. 原子操作。

请教一下上面理解正确吗?

------解决方案--------------------
只有D是原子操作
------解决方案--------------------
lz理解基本正确,理论上3实际上保证不了,不过现在的硬件基本都支持3是原子操作