死锁产生的原因及避免死锁的方法

  • 死锁产生的原因: 两个进程都拿着对方需要的资源(锁/表/行数据)不放,而形成相互等待。
  • 如果不同程序会并发存取多个表/资源,尽量约定以相同的顺序访问表/资源,可以大大降低发生死锁的可能性; 注:不影响并发性能,是最经济的办法
  • 在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁产生概率;
  • 对于非常容易产生死锁的业务部分,可以尝试使用升级锁定颗粒度,通过表级锁定来减少死锁产生的概率。注:倒是不产生死锁了,但严重影响并发性能,是最后不得已的办法
posted @ 2023-03-26 14:47  大枇杷  阅读(83)  评论(0编辑  收藏  举报