循序渐进
- 了解java内存模型
- 一般用法
- 实现原理
锁的位置
执行同步代码块后首先要先执行monitorenter指令,退出的时候monitorexit指令。通过分析之后可以看出,使用Synchronized进行同步,其关键就是必须要对对象的监视器monitor进行获取,当线程获取monitor后才能继续往下执行,否则就只能等待。而这个获取的过程是互斥的,即同一时刻只有一个线程能够获取到monitor - synchronized优化
几个问题
1.Synchronized使用位置有哪些场景?
2.synchronized实现原理是什么?
3.对象锁(monitor)的机制是怎样的?锁的重入性是什么意思?
4.乐观锁、悲观锁 & CAS和CAS的问题,阻塞同步、非阻塞同步
链接:
https://www.jianshu.com/p/d53bf830fa09
https://zhuanlan.zhihu.com/p/75880892
网友评论