attempt to unlock lock, not locked by current thread by node id异常

news/2024/12/4 17:35:49/

Redission分布式锁进行unlock操作时,会提示这个异常,源码如下:

    @Overridepublic void unlock() {Boolean opStatus = get(unlockInnerAsync(Thread.currentThread().getId()));if (opStatus == null) {throw new IllegalMonitorStateException("attempt to unlock lock, not locked by current thread by node id: "+ id + " thread-id: " + Thread.currentThread().getId());}******
}

为什么会这样,由于在进行lock操作时,会设置一个时间

1.当你在完成lock后,里面的业务代码执行时间大于lock时间时,进行unlock,会抛出该异常

2.多线程竞争的问题,当第一个线程完成lock,此时并未 unlock,如此,第二个线程尝试获取锁,并进行lock操作,会抛出该异常。

解决办法:

在lock或unlock前,判断下状态合法性即可,而非直接进行加锁解锁操作。


http://www.ppmy.cn/news/129920.html

相关文章

attempt to unlock lock, not locked by current thread by node id

attempt to unlock lock, not locked by current thread by node id: ee1333c7-c195-4d3a-80af-f39f3f8e17df thread-id: 69 当时的代码是这样写的 public void execute() {String timerName HairDetectionJob.class.getName() Thread.currentThread().getStackTrace()[1].ge…

【RK3288 android6 4个摄像头固定映射】

【RK3288 android6 4个摄像头固定映射】 需求: RK3288 Android6 UNIK 需要增加餐盘和摄像头的固定映射关系 方法: 将餐盘层号和usb的设备号绑定,即固定usb口,创建固定名称的usb设备文件 kernel From 03f90bb48715fe4da182d1dd…

2022-03-22

easy_ya 来源:2022红明谷杯 from Crypto.Util.number import * import osfrom flag import flag def gen():e 3while True:try:p getPrime(512)q getPrime(512)n p*qphi (p-1)*(q-1)d inverse(e,phi)return p,q,d,n,eexcept:continuereturn p,q,d,n,e gen(…

使用FileInputStream类出现文件找不到的问题,thread “main“ java.io.FileNotFoundException: tx.jpg (系统找不到指定的文件。)

出现错误的代码形式: FileInputStream finew FileInputStream(new File("tx.jpg"));出错的提示: 一定是想用相对路径,导致的出错。 解决办法: 将图片放在Project的根目录下。 比如说:我的目标文件是tx.jpg …

[L4D]目录Missions中任务与地图关系

目录用途是存放地图任务 dropdownmission.res(菜单) "BtnDeadCenter"{"ControlName" "L4D360HybridButton""fieldName" "BtnDeadCenter""xpos" "0""ypos" "180"&quo…

ctfshow---sql注入(214-253)

目录​​​​​​​ web214 web215 web216 web217 web218 web219 web220 web221 web222 web223 web224 web225 web226 web227 web228-229-230 web231 web232 web233-234 web235-236 web237 web238 web239 web240 web241 web242 web243 web244 web24…

Python3爬取今日头条文章视频数据,完美解决as、cp、_signature的加密方法(2020-6-29版)

前言 在这里我就不再一一介绍每个步骤的具体操作了,因为在爬取老版今日头条数据的时候都已经讲的非常清楚了,所以在这里我只会在重点上讲述这个是这么实现的,如果想要看具体步骤请先去看我今日头条的文章内容,里面有非常详细的介…

pytest_函数传参和firture传参数request

前言为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数。 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登陆函数就行。…