File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11---
2- title : Java非阻塞机制
2+ title : Java 并发机制的底层实现
33date : 2018/05/19
44categories :
55- Javase
99- juc
1010---
1111
12- # Java 非阻塞机制
12+ # Java 并发机制的底层实现
1313
1414> 本文内容基于 JDK1.8。
1515
1616<!-- TOC depthFrom:2 depthTo:3 -->
1717
1818- [ concurrent 包的实现] ( #concurrent-包的实现 )
19+ - [ volatile] ( #volatile )
1920- [ CAS] ( #cas )
2021 - [ 简介] ( #简介 )
2122 - [ 操作] ( #操作 )
@@ -50,6 +51,14 @@ AQS,非阻塞数据结构和原子变量类(Java.util.concurrent.atomic 包
5051 <img src =" https://raw.githubusercontent.com/dunwu/Javase-notes/master/images/concurrent/juc-architecture.png " >
5152</p >
5253
54+ ## volatile
55+
56+ volatile 是轻量级的 synchronized,它在多处理器开发中保证了共享变量的“可见性”。
57+
58+ 可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。如果 volatile 变量修饰符使用恰当的话,它比 synchronized 的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。
59+
60+ 如果一个字段被声明成volatile,Java线程内存模型确保所有线程看到这个变量的值是一致的。
61+
5362## CAS
5463
5564### 简介
@@ -192,7 +201,7 @@ CAS 通过调用 JNI(JNI:Java Native Interface 为 Java 本地调用,允许
192201## 资料
193202
194203* [ Java 并发编程实战] ( https://item.jd.com/10922250.html )
195- * [ Java 并发编程的艺术] ( https://item.jd.com/11740734.html )
204+ * [ Java 并发编程的艺术] ( https://item.jd.com/11740734.html ) :第 2 章 Java 并发机制的底层实现原理
196205* https://www.jianshu.com/p/473e14d5ab2d
197206* https://blog.csdn.net/ls5718/article/details/52563959
198- * http://tutorials.jenkov.com/java-concurrency/non-blocking-algorithms.html
207+ * http://tutorials.jenkov.com/java-concurrency/non-blocking-algorithms.html
You can’t perform that action at this time.
0 commit comments