我知道atomic operation
表示从所有其他线程的角度看似乎是瞬时的操作。因此,当更新值时,所有线程都会看到相同的更改。
在memory models
的世界(弱,强且顺序一致)中,它似乎也在处理指令执行的顺序。因此,一条指令可能在上一条指令之前运行。
我们也有out of order execution
的概念。当CPU管道处于空闲状态时,它可以无序提取一条指令,执行该指令并存储结果,直到实际执行该指令为止。
这些概念对我来说听起来都是一样的,几乎是指同一件事吗?
以下是非常简单和非正式的描述,并且技术水平不高。这仅是为了对该过程提供一些一般的直觉。