Skip to content

Commit dcc4534

Browse files
committed
no message
1 parent 13bec6d commit dcc4534

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

notes/JavaArchitecture/03 Java 并发编程.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163

164164
## 1. 线程状态转换
165165

166-
<div align="center"> <img src="assets/ace830df-9919-48ca-91b5-60b193f593d2.png" width=""/></div>
166+
<div align="center"> <img src="assets/1536767960941.png" width="750"/></div>
167167

168168
### 新建(New)
169169

@@ -818,7 +818,7 @@ CAS 指的是现代 CPU 广泛支持的一种对内存中的共享数据进行
818818
- 最后,CPU 会将旧的数值返回。
819819

820820
这一系列的操作是原子的。它们虽然看似复杂,但却是 Java 5 并发机制优于原有锁机制的根本。简单来说,CAS 的含义是:我认为原有的值应该是什么,如果是,则将原有的值更新为新值,否则不做修改,并告诉我原来的值是多少。
821-
简单的来说,CAS 有 3 个操作数,内存值 V,旧的预期值 A,要修改的新值 B。当且仅当预期值 A 和内存值 V 相同时,将内存值 V 修改为 B,否则返回 V。这是一种乐观锁的思路,它相信在它修改之前,没有其它线程去修改它;而 Synchronized 是一种悲观锁,它认为在它修改之前,一定会有其它线程去修改它,悲观锁效率很低。
821+
简单的来说,CAS 有 3 个操作数,内存值 V,旧的预期值 A,要修改的新值 B。当且仅当预期值 A 和内存值 V 相同时,将内存值 V 修改为 B,否则返回 V。这是一种乐观锁的思路,它相信在它修改之前,没有其它线程去修改它;而 Synchronized 是一种悲观锁,它认为在它修改之前,一定会有其它线程去修改它,悲观锁效率很低。
822822

823823

824824

57.7 KB
Loading

0 commit comments

Comments
 (0)