feat: 增加redisLock方法
原因
增加redisLock方法
修改
增加redisLock方法
This commit is contained in:
parent
6047e8933e
commit
de18b4af3f
@ -200,6 +200,21 @@ public class RedisLock {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 尝试立即获取锁,并执行supplier.get()方法,返回结果。<br>
|
||||||
|
* timeoutMills = 0, expireMillis = 参数传入
|
||||||
|
*/
|
||||||
|
public <T> T acquireImmediatelyRun(long expireMillis, Supplier<T> supplier) {
|
||||||
|
if (!lock(0, expireMillis)) {
|
||||||
|
throw ResultCode.OPERATE_TOO_FREQUENTLY.toException();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return supplier.get();
|
||||||
|
} finally {
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 加锁 应该以: lock(); try { doSomething(); } finally { close(); } 的方式调用<br>
|
* 加锁 应该以: lock(); try { doSomething(); } finally { close(); } 的方式调用<br>
|
||||||
* 外部不建议直接使用该方法,建议使用{@link #tryAcquireRun(long, long, Supplier)}明确指定锁的等待和过期时间
|
* 外部不建议直接使用该方法,建议使用{@link #tryAcquireRun(long, long, Supplier)}明确指定锁的等待和过期时间
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user