没有合适的资源?快使用搜索试试~ 我知道了~
java并发编程实战pdf学习笔记 总结了重要的知识点
资源推荐
资源详情
资源评论
读书笔记
Java 并发编程实践-读书笔记 第 1 页
Java 并发编程实践
读书笔记(by zvane)
读书笔记
Java 并发编程实践-读书笔记 第 2 页
目 录
1. 介绍 ............................................................................................................................................................... 4
1.1 线程和进程的区别 .............................................................................................................................. 4
2. 线程安全 ....................................................................................................................................................... 4
2.1 什么是线程安全性 .............................................................................................................................. 4
2.2 原子性 ................................................................................................................................................. 4
2.2.1
竞争条件
......................................................................................................................................... 4
2.2.2
懒加载的单例模式
......................................................................................................................... 4
2.3 锁 ......................................................................................................................................................... 4
2.3.1
内部锁
............................................................................................................................................. 4
2.3.2
重进入(
Reentrancy
)
................................................................................................................ 4
2.4 用锁来保护状态 .................................................................................................................................. 5
2.5 活跃度与性能...................................................................................................................................... 5
3. 共享对象 ....................................................................................................................................................... 5
读书笔记
Java 并发编程实践-读书笔记 第 3 页
3.1 可见性 ................................................................................................................................................. 5
3.1.1
过期数据
......................................................................................................................................... 6
3.1.2
非原子的
64
位操作
........................................................................................................................ 6
3.1.3
锁和可见性
..................................................................................................................................... 6
3.1.4 volatile ............................................................................................................................................ 6
3.2 发布和逸出 ......................................................................................................................................... 7
3.2.1
安全构建的实践
............................................................................................................................. 7
3.3 线程封闭 ............................................................................................................................................. 7
3.3.1 Ad-hoc
线程限制
........................................................................................................................... 7
3.3.2
栈限制
............................................................................................................................................. 7
3.3.3 ThreadLocal................................................................................................................................... 7
3.4 不可变性 ............................................................................................................................................. 7
3.5 安全发布 ............................................................................................................................................. 8
3.5.1
一个神奇的判断
............................................................................................................................. 8
3.5.2
不可变对象与初始化安全性
......................................................................................................... 8
3.5.3
安全发布的模式
............................................................................................................................. 8
3.5.4
高效不可变对象
............................................................................................................................. 8
3.5.5
可变对象
......................................................................................................................................... 8
3.5.6
安全的共享对象
............................................................................................................................. 8
4. 组合对象 ..................................................................................................................................................... 10
4.1 可见性 .................................................................................................................. 错误!未定义书签。
读书笔记
Java 并发编程实践-读书笔记 第 4 页
1. 介绍
1.1 线程和进程的区别
线程共享其所属进程的内存地址空间,同一进程中的线程可以访问相同的变量,从同一个堆中
分配对象,这相对于进程间通信机制实现了很更好的数据共享,但必须有可靠的同步机制来保证。
2. 线程安全
2.1 什么是线程安全性
多个线程同时访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替咨询,并且
不需要额外的同步及在调用方代码不必做其他的协调,这个类的行为仍然是正确的,那么这个类就
是线程安全的。
无状态对象永远是线程安全的。
2.2 原子性
I++; 实际上是“读-改-写”,这样的操作不是原子操作
2.2.1 竞争条件
2.2.2 懒加载的单例模式
检查在运行模式
结合双重检查来分析
原子操作:一个操作对于所有的操作(包括它自己)而已,要么没有执行,要么全部
执行完成。
JDK1.5 java.util.concurrent.atomic 包中包括了原子变量(atomic variable)类
对象引用的原子变量 AtomicReference
为保护状态的一致性,要在单一的原子操作中更新相互关联的状态变量。
如果是多个分开独立的原子操作,那么线程安全性就无法保证了。那怎么呢?采用
锁。
2.3 锁
2.3.1 内部锁
内置锁机制:synchronized 块:锁对象的引用,以及这个锁保护的代码块。
对象锁:方法所在对象本身 this
类锁:静态 synchronized 方法,从 Class 对象上获取锁
也叫监视器锁,Java 每个对象都可以充当。它是一种互斥锁
对象的内部锁与它的状态没有任何关系。即使获得了某个对象的锁,也不能阻止其他线程访问
这个对象。唯一的作用,就是避免另一个线程再获得该对象的锁。
尽量不要在方法上
2.3.2 重进入(Reentrancy)
同一个线程多次获取同一个锁,JVM 将记录锁的占有者,并将请求锁的次数递增+1
剩余24页未读,继续阅读
资源评论
老李头喽
- 粉丝: 251
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功