互斥锁
在多核场景下,同一时刻,有可能有两个线程同时在执行,一个线程执行在 CPU-1 上,一个线程执行在 CPU-2 上,此时禁止 CPU 中断,只能保证 CPU 上的线程连续执行,并不能保证同一时刻只有一个线程执行,如果这两个线程同时写 long 型变量高 32 位的话,那就有可能出现诡异 Bug:明明已经把变量成功写入内存,重新读出来却不是自己写入的。
简易锁模型
改进后的锁模型
Java 语言提供的锁技术:synchronized
版权声明: 本文为 InfoQ 作者【Xiao8】的原创文章。
原文链接:【http://xie.infoq.cn/article/fb2841c3d07e75f910958420f】。文章转载请联系作者。
评论