数据依赖性 若两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间存在数据依赖性。 上面三种情况,只要排序两个操作的执行情况,程序的执行结果将会被改变。编译器和处理器在重排序时会遵守数据依赖性,编译器和处理器不会改变存在数据依赖关系的两个操作的执行顺序。 这里的数据依赖仅针对单个处理器中执行的指令序列和单个线程中执行的操作,不同处理器之间和不同线程之间的数据依赖性不被编译器和处理器考虑。