Java cpu cache Posted on 2021-02-20 In JAVA 原文链接 12345678private void lock() { while (!state.compareAndSet(0, 1)) //对于未能取得锁所有权的线程,在内层循环上等待 //因为获取了 state 一份共享的高速缓存副本, //不会再进一步产生总线通信量 while (state.get() == 1) ;} 测试两个版本的 lock 方法,在我的机器上有比较明显的差异,没有内层循环的 lock 版本耗时在 6-8 秒,而增加了内层循环的 lock 耗时在 2.5 -5 秒 关于什么场景下会使用到高速缓存