0%

死锁

什么是死锁

多线程情况下,线程互相拥有对方需要的资源从而相互等待资源释放,从而导致程序无法继续进行造成死锁。

如何解决

  1. 固定枷锁顺序

    可以通过业务字段运算排序确定加锁的顺序

  2. 尽可能减小锁的范围

    等到操作共享变量时再加锁,降低死锁概率

  3. 定时锁

    一段时间获取不到锁,释放掉