- 博客(3)
- 收藏
- 关注
原创 分布式一致性:Raft
概述与Paxos不同,Raft相对来说易于理解,在Raft中把复杂的问题分解,分为三个子问题:选举(Leader election)、日志复制(Log replication)、安全性(Safety)。Raft的流程:Raft开始时在集群中选举出Leader负责日志复制的管理,Leader接受来自客户端的事务请求(日志),并将它们复制给集群的其他节点,然后负责通知集群中其他节点提交日志,Lead...
2019-04-16 16:37:37 609
原创 时间轮HashedWheelTimer原理
How to Use?和计划任务线程池ScheduledThreadPoolExecutor的功能类似,HashedWheelTimer也提供了延时执行的功能。前者基于延时队列,而后者基于时间轮实现。先看它的使用方式。HashedWheelTimer hashedWheelTimer = new HashedWheelTimer(100, TimeUnit.MILLISECONDS);has...
2019-04-08 15:53:42 1814
原创 Java并发编程:延时任务队列的实现原理
优先级队列DelayedWorkQueueDelayedWorkQueue用来存放将要执行的任务,其数据结构为有序二叉堆。有序二叉堆的特点:所有根结点必定不大于其两个叶子节点任意结点的子节点的索引位置是其本身索引位置乘2后+1任意结点的父节点的索引位置是该结点的索引位置-1后除2并向下取整当新添加元素时,加入到数组的尾部,后面我们结合代码分析添加过程DelayedWorkQueu...
2019-04-03 09:49:55 1963
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人