5.公平锁,非公平锁,可重入锁,递归锁,自旋锁谈谈你的理解?请手写一个自旋锁

Scroll Down

公平锁,非公平锁,可重入锁,递归锁,自旋锁谈谈你的理解?请手写一个自旋锁

image-1662511543036

公平锁和非公平锁

  • 是什么

    image-1662511556257

  • 两者区别

    image-1662511570221

  • 题外话

    image-1662511594135

可重入锁(又名递归锁)

  • 是什么

    image-1662511610828

  • ReentrantLock/Synchronized就是一个典型的可重入锁

  • ReenterLockDemo

自旋锁

image-1662511638636

  • 生活case:我在打电话,一个同事问我问题

    • 1)一直等(阻塞)
    • 2)在等的过程中,(可以去办别的事情,然后再回来看是否打完电话)-循环
  • 技术case:
    SpinLockDemo

独占锁(写锁)/共享锁(读锁)/互斥锁

image-1662511661662
代码实战demo

彩蛋

  • 1.锁分类

    • MySQL锁
    • Java锁
  • 2.三把斧(学技术要重视:方法论,理论+实践(编码实现))

    • 理论
    • 代码(技术case+生活case)
    • 小总结
  • 3.多线程安全问题
    其实就是线程操作资源类出现数据不一致问题

  • 3.IT学习方法论

    1)多思考(新技术有个before,after的对比)

    image-1662511687300

  • 4.工作经验笑谈

    1)5年工作经验

    2)1个工作经验用了5年

  • 5.看Redis源码,模仿写一个缓存