JMM
2017-04-04 14:59:12 0 举报
AI智能生成
JAVA并发编程的艺术读书笔记思维导图
作者其他创作
大纲/内容
基础
关键问题
线程通信
共享内存,通过写-读内容中的公共状态进行隐式通信
消息传递,通过发送消息进行显式通信
线程同步
共享内存下,同步是显式进行的
消息传递下,同步是隐式进行的
抽象结构
重排序
编译器优化的重排序
指令级并行的重排序
内存系统的重排序
内存屏障
happens-before
程序顺序规则
监视器锁规则
volatile变量规则
传递性
重排序
数据依赖性
as-if-serial语义
子主题
顺序一致性
锁的内存语义
锁可以让临界区互斥进行
锁的释放-获取建立happens-before关系
锁的释放-获取的内存语义
子主题
final的内存语义
内存可见性
volatile的内存语义
volatile的特性
可见性
原子性
volatile的写-读建立happens-before关系
volatile写-读的内存语义
写的内存语义
读的内存语义
总结
volatile内存语义的实现
为写操作前后加StoreStore屏障
为读操作前后加LoadLoad屏障
happens-before
矛盾
程序员希望使用强内存模型
编译器和处理器希望弱内存模型
0 条评论
下一页