并发编程理论基础二——画图理解

本篇参考书籍:《编程思想》,《java并发编程实战》,《深入理解java虚拟机》

参考网站:Jakob Jenkov并发指南,操作系统相关知识

以下是将这些知识串联起来用visio画的图,加入了一些自己的判断理解

线程安全的表现和根因

下图是想表达影响线程安全的三个表现以及导致这些表现的根因

 CPU-高速缓存-主存

下图是CPU和主存之间进行数据交互的过程,因为速度差距,中间加入高速缓存

 

缓存一致性协议

下图表示加入了高速缓存后,在进行读写时可能会导致缓存不一致,因此出现了"缓存一致性协议"来解决

 JMM及规范

 JMM

 

 CPU和JMM对比看

里面加入了我的一些理解做对比

 三个关键字和他们能保证的特性

 OS和VM层面的线程状态对比

 操作系统和jvm线程状态对比,VM层面参考JDK源码,Thread类的内部类:枚举State

 

posted @ 2021-01-19 19:29  鼠标的博客  阅读(128)  评论(0编辑  收藏  举报