在阅读LongAdder源码的过程中,碰到了@sun.misc.Contended的使用,在百度了一下后了解到该注解是为了解决伪共享问题。
什么是伪共享?
要想彻底了解伪共享,首先要对缓存行(也可称为缓存段),和缓存一致性协议有所了解。个人在网上找了许多资料认为:缓存一致性(Cache Coherency)入门,这篇简绍的比较好,建议大家阅读一下。
以及了解缓存一致性协议(MESI)的具体流程这里我推荐:缓存一致性协议的工作方式(但是里面在脏段被修改后,其它CPU依然可以获取到脏段进行修改,只是在最后被替换的时候进行回写,类似于缓存一致性(Cache Coherency)入门提到的MOSEI 协议)
现在可以解释伪共享了:当a