分布式锁-redission
重入:
获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁
不可重试:
只能尝试一次
超时释放:
在加锁时增加了过期时间,可以防止死锁,有安全隐患
主从一致:
向集群写数据时,主机需要异步地将数据同步给从机
Redission
在Redis基础上实现的Java驻内存数据网络,提供一系列分布式Java常用对象和分布式服务
包括分布式锁的实现
RLock lock = redissonClient.getLock(“anyLock”);
锁的名称是anyLock,是全局唯一标识,当多个客户端或线程尝试获取相同名称的锁时,就会发生竞争关系
Rlock代表是可重入锁,同一线程能够多次获取同一把锁,不会出现死锁
可重入锁原理
使用一个state变量记录重入状态,当没有人持有这把锁,state=0,假如有人持有,state=1,当前持有这把锁的人再次持有这把锁时,state+1
也就是重入一次加一,释放一次减一,直到减少为0代表这把锁没有被持有。。
欢迎使用66资源网
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
66源码网 » 分布式锁-redission
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
66源码网 » 分布式锁-redission