实例1:
//获取 RLock 实例 RLock lock = redisson.getLock(Constants.STANDARD_DETAIL_LOCK_KEY_PREFIX + fo.getId()); boolean tryLock = false; try { //会立即获取锁,如果在调用方法时刻,锁没有被其他线程占用,将获取到锁并返回true tryLock = lock.tryLock(Constants.STANDARD_DETAIL_LOCK_KEY_SURVIVAL, TimeUnit.SECONDS); } catch (InterruptedException e) { e.printStackTrace(); } //如果为false锁被其他用户占用,不能编辑 if (!tryLock) { return setResultError("当前资源有其他用户正在编辑,请稍后!"); }
关闭资源
finally { if (lock != null) { lock.unlock(); } }