【发布时间】:2016-02-27 16:36:45
【问题描述】:
来自post:
在单个 CPU 内核上进行时间切片的两个线程不会遇到重新排序问题。单个核心始终知道自己的重新排序,并将正确解决所有自己的内存访问。然而,多个核心在这方面独立运行,因此不会真正了解彼此的重新排序。
为什么在单个 CPU 内核上不会出现指令重排序问题?本文不作解释。
示例:
以下图片选自Memory Reordering Caught in the Act:
记录如下:
我认为记录的指令也会导致单个 CPU 出现问题,因为 r1 和 r2 都不是 1。
【问题讨论】:
标签: multithreading memory multiprocessing cpu instructions