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