今天我们讲讲耳熟能详的 java多线程中的关键字 synchronized
既然是多线程的,那么肯定会有 线程安全 的问题。关于什么是线程安全的问题,我这里就不赘述了。简单来说,我们可以把线程对变量 x 的操作理解为三步:
- 从主内存中拿到变量 x 的值;
- 改变变量 x 的值;
- 把变量 x 的值写到主内存中;
于是乎,当第一个线程拿到 x 的值之后,可能第二个线程已经改变了 x 的值,这样,第一个线程所操作的 x 就不是正确的值。这就是非线程安全。
而今天我们介绍的就是最最常见的关键字 synchronized。
其实 关于synchronized,我之前就有发过一篇博客
https://blog.csdn.net/jjs15259655776/article/details/77866042
讲的是最浅显的synchronized。实则,多线程的情况各有不同,应该具体情况具体分析。
更多内容请关注微信公众号“外里科技”
官方公众号 | 外里科技 |
运营公众号 | 英雄赚 |
微信 | wxid_8awklmbh1fzm22 |
1247408032 | |
开源代码 | https://gitee.com/B_T/beimi |