在《# 分布式锁上-初探》中有提到一个分布式锁应具备的功能特点中有避免死锁这一条:

站在用户的角度思考问题,与客户深入沟通,找到普兰店网站设计与普兰店网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名与空间、雅安服务器托管、企业邮箱。业务覆盖普兰店地区。
如果某个客户端获得锁之后处理时间超过最大约定时间,或者持锁期间内发生了故障导致无法主动释放锁,其持有的锁也能够被其他机制正确释放,并保证后续其它客户端也能加锁,整个处理流程继续正常执行。
简单解释一下:
逻辑看很简单,也很清晰,但任何事情都有两面性,自动删除自然有理,但肯定也有弊端。如果要把锁的功能做的健壮,总要从不断地自我质疑、自我反思中,理顺思路,寻找答案,我认为这属于自省式学习,以后也想尝试这种模式,一起来试试吧:
public void run() {
while (true) {
// 续租
action.run();
}
}
public void run() {
while (true) {
// 1、间隔
TimeUnit.MILLISECONDS.sleep(sleepTime);
// 2、续租
action.run();
}
}
public void run() {
while (isRunning) {
// 1、间隔
TimeUnit.MILLISECONDS.sleep(sleepTime);
// 2、续租
action.run();
}
}
private volatile boolean isRunning = true;
void cancel(){
//控制线程退出
this.isRunning = true;
}
void cancel(){
//控制线程退出
this.isRunning = true;
//中断线程
this.interrupt();
}到这里,似乎都理顺了。
本文转载自微信公众号「架构染色」,可以通过以下二维码关注。转载本文请联系【架构染色】公众号作者。
文章标题:自省:分布式锁主动续期的入门级实现
分享路径:http://www.csdahua.cn/qtweb/news10/520560.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网