摘要:
理解volatile特性的一个好方法是吧对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步。 即使是64位的long型和double型变量,只要它是volatile变量,对这些变量的读/写就具有原子性。 如果是多个volatile操作或类似于volatile++这种复 阅读全文
摘要:
每次处理器和内存之间的数据传递都是通过一系列步骤来完成的,这一系列步骤称之为总线事务。 总线事务包括读事务和写事务。 阅读全文
摘要:
as-if-seral的语义是:不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不能被改变。 为了遵守as-if-seral语义,编译器和处理器不会对存在数据依赖关系的操作做重排序,因为这种重排序会改变执行结果。 在单线程程序中,对存在控制依赖的操作重排序,不会改变执行结果( 阅读全文