公平锁,非公平锁,可重入锁,递归锁,自旋锁谈谈你的理解?请手写一个自旋锁
公平锁和非公平锁
-
是什么
-
两者区别
-
题外话
可重入锁(又名递归锁)
-
是什么
-
ReentrantLock/Synchronized就是一个典型的可重入锁
-
ReenterLockDemo
- 参考1
- 参考2
自旋锁
-
生活case:我在打电话,一个同事问我问题
- 1)一直等(阻塞)
- 2)在等的过程中,(可以去办别的事情,然后再回来看是否打完电话)-循环
-
技术case:
SpinLockDemo
独占锁(写锁)/共享锁(读锁)/互斥锁
彩蛋
-
1.锁分类
- MySQL锁
- Java锁
-
2.三把斧(学技术要重视:方法论,理论+实践(编码实现))
- 理论
- 代码(技术case+生活case)
- 小总结
-
3.多线程安全问题
其实就是线程操作资源类出现数据不一致问题 -
3.IT学习方法论
1)多思考(新技术有个before,after的对比)
-
4.工作经验笑谈
1)5年工作经验
2)1个工作经验用了5年
-
5.看Redis源码,模仿写一个缓存