beizili

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天我们讲讲耳熟能详的 java多线程中的关键字 synchronized

既然是多线程的,那么肯定会有 线程安全 的问题。关于什么是线程安全的问题,我这里就不赘述了。简单来说,我们可以把线程对变量 x 的操作理解为三步:

  1. 从主内存中拿到变量 x 的值;
  2. 改变变量 x 的值;
  3. 把变量 x 的值写到主内存中;

于是乎,当第一个线程拿到 x 的值之后,可能第二个线程已经改变了 x 的值,这样,第一个线程所操作的 x 就不是正确的值。这就是非线程安全。

而今天我们介绍的就是最最常见的关键字 synchronized。

其实 关于synchronized,我之前就有发过一篇博客

https://blog.csdn.net/jjs15259655776/article/details/77866042

讲的是最浅显的synchronized。实则,多线程的情况各有不同,应该具体情况具体分析。

 

更多内容请关注微信公众号“外里科技

官方公众号外里科技
运营公众号英雄赚
微信wxid_8awklmbh1fzm22
QQ1247408032
开源代码https://gitee.com/B_T/beimi

 

posted on 2018-11-27 22:30  被子里  阅读(8)  评论(0)    收藏  举报  来源