atomic_read原子操作

来源:互联网 发布:淘宝卖家账号注册 编辑:程序博客网 时间:2024/06/09 02:34
CPU指令原子的,不可能出现指令执行到一半就被中断的情况。中断只能发生在指令与指令之间。

所以,在单处理器情况下,一条指令能完成的事情就是原子的。不管这条指令究竟做了多少事情。

多处理器情况下就不一样,一条CPU指令如果包含多个内存操作,则这多次操作之间可能有其他CPU也在操作内存,并且有可能它们操作的就是同一块内存。所以,在多处理器情况下,只进行一次内存读写的指令才是原子的。
如果想让进行多次内存读写的指令变成原子的,则需要锁总线。
0 0
原创粉丝点击