Java零基础并发编程入门
并发编程主要包括:
线程,同步,future,锁,fork/join, volatile,信号量,cas(原子性,可见性,顺序一致性),临界性,分布式
了解基础:
JMM:Java Memory Model(Java内存模型),定义了JVM在计算机内存中的工作方式。
Java内存模型的内部原理:
1. 堆内存是内存共享,包括方法区
2. 线程私有:虚拟机栈,本地方法栈,程序计数器
线程栈
多线程工作过程:
CPU运行内存模型:
count++ 读 修改 写(三个操作不是原子性的,适合单线程,多线程的时候可能出现脏读)
CPU cache(CPU高速缓存)因为CPU运行非常快,效率高,而内存的效率的比较低, 所以需要有个中介,CPU cache(高速缓存),主要是用来共享变量和数据
指令重排序:(指令执行乱序)