多个线程去create一个path的时候,只有一个线程可以create成功,也就相当于抢到了锁,其他线程只能不停的尝试create,而抢到锁的线程A,在执行完后释放锁,即delete path,就会有下一个线程create成功。为了避免出现,抢到锁后客户端宕机,导致锁无法释放,即拿锁线程不会delete path,create的节点设置为临时节点,这样当客户端宕机时,节点也跟着自动销毁,也就解锁了。即:只监听想监听到的状态。zk: 临时节点序列化,监听上一个小的节点,实现排队阻塞,实现公平锁。
2024-10-22 20:13:07
1429
springboot集合caffeine实现本地缓存(模板,可直接cv)
2023-10-23 15:39:45
438
用的springboot + mybatis-plus + mysql,无法实现,于是考虑使用内嵌式轻量级的数据库SQLlite。此处的url折磨了一晚上,网上各种百度加resource目录下什么的,最后直接这样,启动后会在根目录下自动生成一个db文件。建议方框内的值直接填写生成的db名即可,同时别忘记点击一个test Connection测试一下。sqllite的数据类型和mysql不同,但同时也包容(不确定)最近有个需求,是手机软件离线使用,选择之前的sql执行,可以看日志。OK, 我这边都成功了。
2023-09-04 21:15:40
4678
3
算法刷题技巧
2023-03-27 21:20:26
886
动态规划|特殊的多行规划|dp[2][] 用两行元素分别记录状态变化
2023-03-02 15:51:54
372
LeetCode经典例题|134. 加油站|运用坐标系数学思维一步解决
2023-02-28 19:30:41
426
45.跳跃游戏II - 双指针+贪心+动态规划完美解决
2023-02-27 21:25:57
459
剑指 Offer 38. 字符串的排列:回溯+交换元素
2023-02-25 20:13:03
170
494.目标和 回溯+动态
2023-02-24 16:05:45
391
动态规划问题汇总
2023-02-22 19:48:27
675
leetcode回溯算法问题汇总
2023-02-17 13:04:56
653
MAC brew问题汇总
2023-01-11 14:13:30
405
Redisson是一个在Redis的基础上实现的Java驻内存数据网格,它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。
2023-01-11 14:03:57
7072
1
RedLock算法(红锁算法)介绍
2023-01-08 14:49:33
719
Redis高并发锁(三)分布式锁
2023-01-01 15:42:50
588
1
JVM本地锁,ReentrantLock可重入锁源码解析
2022-12-31 13:41:22
405
Redis生产问题-缓存穿透、缓存击穿、缓存雪崩
2022-12-20 15:13:51
506
相见欢 李煜
2022-12-20 14:34:05
248
《相见欢》 李煜
2022-12-19 16:27:22
170
Redis高并发锁(二)乐观锁 watch+multi+exec
2022-12-18 22:01:29
443
Redis高并发锁(一)JVM本地锁
2022-12-18 21:17:22
126
Mysql分布式锁(五)各类锁总结
2022-12-18 19:55:45
171
1
Mysql分布式锁(四)乐观锁实现并发
2022-12-18 19:52:47
863
Mysql分布式锁(三)悲观锁实现并发
2022-12-18 16:56:51
712
Mysql分布式锁(二)直接用一条sql语句来实现原子性
2022-12-18 15:42:43
657
mysql锁范围(一)表级锁变行级锁所有情况
2022-12-18 15:12:46
771
sql索引未命中情况
2022-12-18 14:31:59
891
vue前后端分离项目打包成app,部署成移动端
2022-12-17 21:47:40
3286
2
通过jvm本地锁解决mysql并发问题及可能的失效情况
2022-12-16 16:45:07
305
JVM本地锁由ReentrantLock或synchronized实现
2022-12-16 14:08:49
895
vue项目部署后,font文件夹下element-icons 和 fontawesome-webfont 等字体无法正常展示
2022-11-09 00:21:23
455
springboot+vue 部署服务器 详细步骤
2022-11-09 00:12:09
814
25. K 个一组翻转链表(最详细注释,分成三个步骤进行处理,简单易懂)
2022-10-30 00:01:31
1178
154. 寻找旋转排序数组中的最小值 II
2022-10-27 20:05:22
125
153. 寻找旋转排序数组中的最小值
2022-10-25 22:56:43
124
1235. 规划兼职工作
2022-10-25 20:05:56
187
435. 无重叠区间,三种方法解决
2022-10-25 19:51:11
305
基本二分查找以及扩展(寻找第一个大于k的或最后一个小于k的)
2022-10-25 12:17:48
865
vue定时器切换页面后停止
2022-10-25 00:02:38
2094
动态规划:300. 最长递增子序列
2022-10-22 21:21:48
118