09 2021 档案

摘要:在看canal源码时发现一个有趣的锁实现--BooleanMutex 这个锁在canal里面多处用到,比如系统初始化/授权控制,没权限时阻塞等待,有权限时所有线程都可以快速通过;还有canal客户端在使用集群模式(ClusterCanalConnector)连接服务端中做高可用的时候,它用来控制只有 阅读全文
posted @ 2021-09-24 11:17 阿阿sa 阅读(209) 评论(0) 推荐(1)
摘要:ReentrantLock锁的实现是基于AQS实现的,所以先简单说下AQS: AQS是AbstractQueuedSynchronizer缩写,顾名思义:抽象的队列同步器,它是JUC里面许多同步工具类实现的核心 其实简单来说AQS有两个核心,一个是volatile修饰的int类型state,这个是判 阅读全文
posted @ 2021-09-17 14:37 阿阿sa 阅读(444) 评论(0) 推荐(0)