首页 > 编程知识 正文

redisson分布式锁使用,redisson读写锁

时间:2023-05-06 02:14:41 阅读:126148 作者:2714

方式一rlock lock=redissonclient.get lock (导出: create : ) context.get ).getCorpId ); 您已进入try { if (lock.trylock (5,10,TimeUnit.SECONDS ) ) /业务处理}else ) assert.istrue ) false,'队列,请稍后再试); } catch (交叉引用) assert.istrue ) false,'不要重复操作!' ); ) finally(if ) lock.islocked ) ) { lock.unlock ); }方式2 :

rocklock=redis son.get lock (string.format (reward _ card _ lock _ key,2 );

try {

//尝试锁定,最多等待10秒,锁定后10秒自动解锁

if (lock.trylock (10,10,TimeUnit.SECONDS ) )。

try {

//处理

logger.info(trylockthread----{},lock:{},Thread.currentThread ).getId ),lock );

}catch(exceptione ) {

} finally {

//解除锁定

lock.unlock (;

}

}

} catch (互联互通) )

//处理

//调用堆栈中的高级代码知道中断,并响应中断,返回Thread.currentThread ().interrupt );

}

Publicvoidtestreentrantlock{

rocklock=redis son.get lock (' anylock ' );

try{

//1 .最常见的使用方法

//lock.lock (;

//2 .支持过期解锁功能,10秒后自动解锁。 不需要调用unlock方法手动解除锁定

//lock.lock(10,TimeUnit.SECONDS );

//3 .尝试锁定,最多等待3秒,锁定10秒后自动解锁

boolean RES=lock.trylock (3,10,TimeUnit.SECONDS );

if(RES )//成功

//do your business

}

} catch (互联互通) )

e .打印堆栈跟踪(;

} finally {

lock.unlock (;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。