DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

人生的四字矛盾

来都来了

现在确实有一种无奈感,不知道自己在奢望什么,为什么情绪这么容易受到影响,本来就是acer,不应该的。。。警示!

加强自己的情绪管理,做好自己就好了,本来无一物,何处惹尘埃

原文链接

1
2
3
4
5
6
7
8
private void lock() {
while (!state.compareAndSet(0, 1))
//对于未能取得锁所有权的线程,在内层循环上等待
//因为获取了 state 一份共享的高速缓存副本,
//不会再进一步产生总线通信量
while (state.get() == 1)
;
}

测试两个版本的 lock 方法,在我的机器上有比较明显的差异,没有内层循环的 lock 版本耗时在 6-8 秒,而增加了内层循环的 lock 耗时在 2.5 -5 秒

关于什么场景下会使用到高速缓存