简介

  1. 锁的主要作用是管理共享资源的并发访问
  2. 锁用于实现事务的隔离性

示例

读锁 - 共享锁 谁都可以使用,进行读,不会存在阻塞 写锁 - 独占锁 同时只有一个线程可以操作,其他线程为阻塞

阻塞和死锁

  • 阻塞 : 等待锁的释放

    过多阻塞会堆积,耗损系统性能

  • 死锁 : 一直锁住不释放

    (一定程度上是代码设计的问题)对一个资源有俩个线程都占用时就会死锁 处理死锁的办法

    1. 选择占用最少的线程操作进行回滚
    2. 切断所有线程
    3. 重新有序执行操作即可