cpu多级缓存

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Android_Mrchen/article/details/82835161

1.为什么需要cpu cache:

cpu的频率太快了,快到主存跟不上,cpu常常需要等待主存,浪费资源。所以cache的出现,是为了解决cpu和内存之间速度的不匹配问题( cpu>cache>memory)

2.cpu cache有什么意义

1)时间局部性

2)空间局部性

3.cpu多级缓存 - 缓存一致性(MESI)

4.JMM(java 内存模型) 

1)lock/unlock 

5.并发的优势和风险

6.线程安全性——>atomic——>cas(Unsafe.compareAndSwapInt()):拿当前的值与底层的值对比,如果当前的值与底层的值一样时才进行累加操作(工作内存的值 不一样和主内存的值一样)

1)原子性 - 对比

synchronize:不可中断锁,适合竞争不激烈,可读性好

lock:可中断锁,多样化同步,竞争激烈时能维持常态

Atomic:竞争激烈时能维持常态,比lock性能好;只能同步一个值

volatile:适用于状态标识、

猜你喜欢

转载自blog.csdn.net/Android_Mrchen/article/details/82835161