因为我们不能准确的知道锁内业务逻辑的耗时,再加上根据机器当时的状态及各种原因锁内业务逻辑耗时不是一成不变的固定值,所以对锁的过期时间设置不能足够的准确。一旦线程A的锁在逻辑结束之前被Redis过期释放掉了,其他线程就有可能获得锁就如锁内逻辑,此时A的逻辑还没执行结束,那么就存在锁内逻辑同时被两个线程执行,依旧存在线程安全问题。针对可这问题我们需要考虑一下可重入锁。