3.1 可见性
sychronized关键字的作用有两个:1是原子性 2是可见性。后者常常被忽视
NoVisibility程序演示没有同步的的共享变量。
3.1.1 失效数据
3.1.2 非原子的64位操作:存在于非volatile或没有加锁控制的long和double
3.1.3 加锁的与可见性
3.1.4 volatile
数据为共享,不会被缓存在寄存器和其他对对于处理器不可见的地方,每个线程不会有数据的本地拷贝。
volatile的用法:
http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
3.2 发布与逃逸
什么是发布
什么是逃逸
UnsafeStates演示逃逸
ThisEscape演示内部类的方式发布对象--隐式地使this引用逃逸。
这样的话如果在构造函数中启动一个线程,那么在构造没有完成的情况下,this指的对象已经对线程是可见的了(详见7章)
后面这句话翻译的有点问题:私有方法和终结方法还是写成private和final比较好懂
#TODO 3.8程序清单SafeListener描述了怎么避免this的构造过程逃逸
3.3线程的封闭
3.3.1 ad-hot
3.3.2 栈封闭-我理解就是局部变量
3.3.3 ThreadLocal
3.4 不变性
程序清单3-11 显示如何用可变的对象构建不可变类
3.4.1final 域
final域的特殊含义:保证初始化过程的安全性,从而可以不受限制访问不可变对象,无需同步
3.5 安全发布
程序清单3-14没有同步的发布
3.5.1 不正确的发布
3.5.3 安全发布的常用模式
3.5.4 事实上不可变的对象
看了下Collections.synchronizdMap, 其实就是使用装饰者模式把方法都加了synchronizd, 把引用加了final
分享到:
相关推荐
读书笔记-Java并发编程实战-基础篇
《java并发编程实战》读书笔记-第3章-对象的共享,脑图形式,使用xmind8制作 包括可见性、发布与逸出、线程封闭、不可变性、安全发布等内容
《java并发编程实战》读书笔记-第2章-线程安全性,脑图形式,使用xmind8制作 包括引言、线程安全性定义、原子性、加锁机制、使用锁保护状态、活跃性与性能等内容
《java并发编程实战》读书笔记-第3章-对象的共享,脑图形式,使用xmind8制作 包括线程安全类设计、实例封闭、线程安全性委托、现有线程安全类中添加功能和文档化同步策略等内容
《java并发编程实战》读书笔记-第3章-对象的共享,脑图形式,使用xmind8制作 包括同步容器类、并发容器类、阻塞队列和生产者消费者模式、阻塞和中断方法、同步工具类。最后是构建高效且可伸缩的结果缓存
《Java并发编程实战》个人读书笔记,非常详细: 1 简介 2 线程安全性 3 对象的共享 4 对象的组合 5 基础构建模块 6 任务执行 7 取消与关闭 8 线程池的使用 9 图形用户界面应用程序 10 避免活跃性危险 11 性能与可...
java并发编程实践笔记java并发编程实践笔记java并发编程实践笔记java并发编程实践笔记
Java秒杀系统方案优化-高性能高并发实战 Java秒杀系统方案优化-高性能高并发实战
Java并发编程学习笔记
这是试读版,只有前两章,不过是原版不是扫描版。我会在我的博客记录我的阅读笔记。
java并发编程实战pdf学习笔记 总结了重要的知识点
《java学习》--Java学习过程中笔记的配套代码 《java学习》--Java学习过程中笔记的配套代码
并发编程实战》阅读笔记 有关 Java 并发编程~ 别急别急,在重写它啦~,会补充一些新的内容进去,预计 2020/02 完成。 Content Java 并发编程基础 保证线程安全的两个角度 构造安全的并发应用程序 Java 并发高级主题 ...
Java项目学习笔记: SSM实战项目——Java高并发秒杀API,详细流程+学习笔记
实战Java高并发程序设计 葛一鸣 / 郭超 著 高清 带目录下载 内容简介: 在过去单核CPU时代,单任务在一个时间点...《实战Java高并发程序设计》内容丰富,实例典型,实用性强,适合有一定Java基础的技术开发人员阅读。
《Java并发编程的艺术》笔记 第一章 并发编程的挑战 第二章 Java并发机制的底层实现原理 volatile的两条实现原则: 1. Lock前缀指令会引起处理器缓存回写到内存 2. 一个处理器的缓存回写到内存会导致其他...
Java并发编程学习笔记 本项目整理自《Java7并发编程实战手册》,感兴趣的话推荐阅读原著 本章内容包括: 线程的创建和运行 线程信息的获取和设置 线程的中断 线程中断的控制 线程的Hibernate和恢复 等待线程的终止 ...
《IT学习资料》--SSM实战项目——Java高并发秒杀API,详细流程+学习笔记.zip
《IT学习资料2》--SSM实战项目——Java高并发秒杀API,详细流程+学习笔记.zip
SSM实战项目——Java高并发秒杀API,详细流程+学习笔记