correction

This commit is contained in:
Dwsy
2022-03-27 15:29:54 +08:00
committed by GitHub
parent 8caf77206c
commit 67a0a166c2

View File

@@ -1564,7 +1564,7 @@ volatile自己虽然不能保证原子性但是和CAS结合起来就可以保
例: AtomicInteger.getAndIncrement()
调用 Unsafe 类中的 CAS 方法JVM 会帮我们实现出 CAS 汇编指令
这是一种完全依赖于硬件的功能,通过它实现原子操作。
原语的执行必须是连续的在执行过程中不允许被中断CAS 是 CUP 的一条原子指令。
原语的执行必须是连续的在执行过程中不允许被中断CAS 是 CPU 的一条原子指令。
- CAS的思想就是乐观锁的思想
@@ -1636,7 +1636,7 @@ public class CASDemo {
## CAS三大问题
- 如果 CAS 长时间一直不成功,会给 CPU 带来很大的开销在Java的实现中是一通过while循环自旋CAS获取锁。
- 如果 CAS 长时间一直不成功,会给 CPU 带来很大的开销在Java的实现中是一通过while循环自旋CAS获取锁。
- 只能保证一个共享变量的原子操作
@@ -2087,4 +2087,4 @@ synchronized(this) {
1、第一阶段只是简单的讲一下在后面的系列里会从硬件C++源码层面讲解volatilesynchronized内存屏障MESI-缓存一致性等等进行讲解。
2、还有一些问题在基础阶段可能不太好讲。比如中断这个东西可能理解的云里雾里的后面的系列讲到AQS的时候结合Java源码再讲的话你会非常好理解。
2、还有一些问题在基础阶段可能不太好讲。比如中断这个东西可能理解的云里雾里的后面的系列讲到AQS的时候结合Java源码再讲的话你会非常好理解。