并发知识体系图
2023-05-15 16:25:33 0 举报
AI智能生成
java并发相关知识脑图
作者其他创作
大纲/内容
并发理论基础
并发&并行
线程基础
线程&进程
java中线程状态,硬件的线程状态
java线程调用对应硬件线程调用
java线程的中断机制,sychronized自己中断,aqs可以调用中断方法
java 线程等待唤醒机制
cas+lockSupport.park,unpark
sychronized+wait+notify/notifyAll
reentranlock+condition(await+signal/signalAll)
管程-MESA协议
sychonized/reentrantlock 同步队列+条件队列
多线程模型
java 的JMM共享内存模型
主内存-工作内存-cpu
cpu高速缓存架构
主内存-cpu高速缓存-cpu寄存器
MESI缓存一致性协议
volatile关键字原理
线程屏障
happens-before原则(指令禁止重排序)
主存和工作内存交互的八大原子操作
lock,unlock,read,write,load,use,assign,store
并发出现问题的原因
可见性
有序性
原子性
线程安全问题
分类
运行结果错误
活跃性问题(死锁,饥饿,活锁)
对象发布和初始化(不是原子操作)
线程安全问题解决方案
无锁
不可变数据
局部变量
ThreadLocal
cas
atomic包下的原子类
加锁
synchronized
aqs
分布式锁
并发工具类
atomic包下面的原子类
线程池
ThreadExecutorPool
线程协作
countDownLatch
semaphore
cyclicbarrier
并发容器
Map
ConcureentHashMap
List
CopyOnWriteArrayList
Set
CopyOnWriteArraySet
Queue
ArrayBlockingQueue
LinkedBlockingQueue
SynchronousQueue
priorityBlockingQueue
DelayQueue
Future
FutureTask
CompletionService
ComptableFuture
Fork/join
ForkJoinPool
ForkJoinTask
并发设计模式
优雅终止线程设计模式
避免共享设计模式
ThreadLocal
多线程版本的if模式
例如:只要一个线程成功,就结束。可以使用syschronized+voliate标志
多线程分工模式
线程池
worker模式,一个线程可以服务多个任务
生产者-消费者模式
解耦,提升效率
0 条评论
下一页