为了提高性能,从源码到最终实际执行的指令序列经历3种重排序,有内存可见性问题和一致性问题
编译器重排。编译器在不改变单线程语义下重排指令
处理器重排。CPU利用多核和流水线重排指令
内存系统重排。多级缓存和写缓冲导致读写操作在不同线程间看似乱序
JMM 通过 Happens-Before 规则和同步机制控制重排序,确保多线程情况下指令重排序后内存可见性和一致性
为了提高性能,从源码到最终实际执行的指令序列经历3种重排序,有内存可见性问题和一致性问题
编译器重排。编译器在不改变单线程语义下重排指令
处理器重排。CPU利用多核和流水线重排指令
内存系统重排。多级缓存和写缓冲导致读写操作在不同线程间看似乱序
JMM 通过 Happens-Before 规则和同步机制控制重排序,确保多线程情况下指令重排序后内存可见性和一致性
513
787

被折叠的 条评论
为什么被折叠?