少年意气强不羁,虎胁插翼白日飞。这篇文章主要讲述什么是内存模型的happens-before相关的知识,希望能为你提供帮助。
什么是内存屏障?
内存屏障,又称为内存栅栏,是一组处理器指令,用于实现对内存操作的顺序限制。
内存屏障为何重要?
对主存的一次访问一般花费硬件的数百次时钟周期。处理器通过缓存能够从数量级上降低内存延迟的成本,这些缓存为了性能重新排列待定内存操作的顺序。
也就是说,程序的读写操作不一定会按照它要求处理器的顺序执行。
【什么是内存模型的happens-before】当数据是不可变,或者数据限制在线程范围内,这些优化是无害的。
如果把这些优化与对称多处理和共享可变状态结合,那么就是一场噩梦。
当基于共享可变状态的内存操作被重新排序时,程序可能行为不定。一个线程的写入的数据可能被其它线程可见。原因是数据写入的顺序不一致。适当的放置内存屏障,通过强制处理器顺序执行待定的内存操作来避免这个问题。
推荐阅读
- Android之CircleImageView使用
- Eclipse+Android开发(Android模拟器快捷键)
- 2Android-UI(布局待完成)
- Android Message handling (based on KK4.4)
- Android Studio 真机调试 连接手机
- 关于Android Q的命名的猜想
- WinXP控制面板字体程序出错如何处理
- 灵活运用命令处理WinXP控制面板开不了的问题
- WinXP运用命令设置防火墙提示出错的原因及处理办法