可重入锁:
看门狗机制:(lock.lock()不设置过期时间就会自动触发 看门狗机制)
如果一个线程已经上锁后,在运行的过程中中断导致未释放锁从而导致其他线程无法进行,为此需要为每个锁设置自动过期时间。但是如果线程运行时间较长,可能在锁到期后还没执行完。为解决这种问题,Redisson使用看门狗机制,可自动为还未运行结束的线程的快要到期的锁延长过期时间。另外,如果redis发现线程已经不再运行,但是锁还未释放,则看门狗机制会自动释放该锁。
可重入锁:
看门狗机制:(lock.lock()不设置过期时间就会自动触发 看门狗机制)
如果一个线程已经上锁后,在运行的过程中中断导致未释放锁从而导致其他线程无法进行,为此需要为每个锁设置自动过期时间。但是如果线程运行时间较长,可能在锁到期后还没执行完。为解决这种问题,Redisson使用看门狗机制,可自动为还未运行结束的线程的快要到期的锁延长过期时间。另外,如果redis发现线程已经不再运行,但是锁还未释放,则看门狗机制会自动释放该锁。