代码拉取完成,页面将自动刷新
public String lockAndReturnKeyNew(String key, long timeout) {
long orginalTimeout = timeout;
long checkTimeout = timeout;
String lockName = key + "_lock";
while (checkTimeout >= 0) {
long expires = System.currentTimeMillis() + checkTimeout + 1;
String expiresStr = String.valueOf(expires);
String LOCK_SUCCESS = "OK";
String SET_IF_NOT_EXIST = "NX";
String SET_WITH_EXPIRE_TIME = "PX";
String result = redisInterface.set(lockName, expiresStr, SET_IF_NOT_EXIST, SET_WITH_EXPIRE_TIME, Long.valueOf(orginalTimeout).intValue() / 1000);
if (LOCK_SUCCESS.equals(result)) {
return lockName;
}
checkTimeout -= 10;
try {
Thread.sleep(10);
} catch (InterruptedException e) {
LOGGER.error("当前线程被强制中断,请检查.", e);
Thread.currentThread().interrupt();
}
}
return null;
}
public void unlock(String key) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("key:{}已清除锁成功", key);
}
redisInterface.del(key + "_lock");
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。