多线程核心原理
多线程的作用
充分利用CPU资源,提高执行效率
CPU底层使用的是:总线锁和缓存锁(缓存一致性协议)
多线程带来的问题
可见性问题
- 解决方法
volatile修饰全局变量(hsdis插件查看运行时的汇编指令)
- 原理:使用lock指令
- 把当前处理器缓存行的数据写入到系统内存
- 写回内存的操作会让其他CPU里缓存了该内存地址的数据无效
原子性问题
- 解决方法
synchronized,lock,atomic
加锁带来的性能问题解决方法
- 控制锁的粒度
- 对锁本身进行优化(在性能和安全性之间做一个平衡)
01 多线程核心原理
原文:https://www.cnblogs.com/lifeone/p/11653105.html