![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发编程
timi曾
这个作者很懒,什么都没留下…
展开
-
三.Atomic原子类实现CAS语义
AtomicInteger AtomicInteger是一个原子的自增操作类 分析一下AtomicInteger的源码 先看看它的成员变量 private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final long valueOffset; private volatile int value; ...原创 2020-01-20 14:20:00 · 422 阅读 · 0 评论 -
二.synchronized关键字
synchronized的作用,synchronized可以保证并发安全问题,比如i++操作,实际是两步,先读取i的值,再把i+1,这样的话多个线程并发执行i++的时候就可能出现并发问题了,这里使用synchronized就能解决并发安全问题,synchronized需要一个锁对象,可以是一个对象实例,也可以是一个Class,直接加在方法上就是当前实例对象 也就是this,多个线程同时执行sync...原创 2020-01-20 14:14:07 · 166 阅读 · 0 评论 -
一.volitale关键字原理
一.主存区与cpu多级缓存模型 每个cpu都有自己的多级缓存,从主存读取数据以后缓存到自己的缓存区,这样读取性能能大大提升 下图表示cpu多级缓存 二.java内存模型 Java内存模型是跟cpu缓存模型是类似的,基于cpu缓存模型来建立的java内存模型,只不过java内存模型是标准化的,屏蔽掉底层不同的计算机的区别 read(从主存读取),load(将主存读取到的值写入...原创 2020-01-20 14:08:59 · 529 阅读 · 0 评论