在Messenger里面构建了两个线程,一个是WorkerSender,一个是WorkerReceiver。 这两个线程是分别用来发送和接收消息的线程。具体做什么,暂时先不分析。

Messenger(QuorumCnxManager manager) { this.ws = new WorkerSender(manager); Thread t = new Thread(this.ws, "WorkerSender[myid=" + self.getId() + "]"); t.setDaemon(true); t.start(); this.wr = new WorkerReceiver(manager); t = new Thread(this.wr, "WorkerReceiver[myid=" + self.getId() + "]"); t.setDaemon(true); t.start();
}

leader选举的源码分析-Messenger相关推荐

  1. leader选举的源码分析

    源码分析,最关键的是要找到一个入口,对于zk的leader选举,并不是由客户端来触发,而是在启动的时候会触发一次选举.因此我们可以直接去看启动脚本zkServer.sh中的运行命令 ZOOMAIN就是 ...

  2. leader选举的源码分析-startLeaderElection

    看到这个方法,有没有两眼放光的感觉?没错,前面铺垫了这么长,终于进入leader选举的方法了 synchronized public void startLeaderElection() { try ...

  3. leader选举的源码分析-QuorumPeer.start

    QuorumPeer.start方法,重写了Thread的start.也就是在线程启动之前,会做以下操作 1. 通过loadDataBase恢复快照数据 2. cnxnFactory.start()  ...

  4. leader选举的源码分析-FastLeaderElection.starter

    starter方法里面,设置了一些成员属性,并且构建了两个阻塞队列,分别是sendQueue和recvqueue.并且实例化了一个Messager private void starter(Quoru ...

  5. leader选举的源码分析-FastLeaderElection

    初始化FastLeaderElection,QuorumCnxManager是一个很核心的对象,用来实现领导选举中的网络连接管理功能,这个后面会用到 public FastLeaderElection ...

  6. leader选举的源码分析-quorumPeer.createElectionAlgorithm

    根据对应的标识创建选举算法 protected Election createElectionAlgorithm(int electionAlgorithm){ Election le=null; / ...

  7. leader选举的源码分析-runFromConfig

    从名字可以看出来,是基于配置文件来进行启动. 所以整个方法都是对参数进行解析和设置 , 因为这些参数暂时还没用到,所以没必要去看.直接看核心的代码 quorumPeer.start(), 启动一个线程 ...

  8. Zookeeper之Leader选举源码分析

    Zookeeper源码下载地址:https://github.com/apache/zookeeper 1.选举流程 Zookeeeper的Leader选举会分两个过程. 服务启动时的leader选举 ...

  9. 【Zookeeper】源码分析之Leader选举(一)

    一.前言 分析完了Zookeeper中的网络机制后,接着来分析Zookeeper中一个更为核心的模块,Leader选举. 二.总结框架图 对于Leader选举,其总体框架图如下图所示 说明: 选举的父 ...

最新文章

  1. stream流对象的理解及使用
  2. C语言:在屏幕上打印杨辉三角形
  3. C++学习总结(函数、类与对象)
  4. ProE复杂曲线方程:Python Matplotlib 版本代码(L系统,吸引子和分形)
  5. pug模板引擎(原jade)
  6. 香蜜台词共赴鸿蒙,香蜜台词斗法
  7. 手动抛出异常_Java异常处理最佳实践及陷阱防范
  8. android系统优化(19)--系统性能优化第6季
  9. android百度地图获取定位信息吗,android使用百度地圖定位(獲取當前經緯度和地址信息)...
  10. javascript学习心得(1)replace
  11. 重写对象的equals和hashCode方法
  12. ie6-7中会出现图片下有空隙
  13. 用大白话带你理解CPU指令集
  14. 计算机系统感染了病毒怎么办,笔者教你电脑感染了病毒怎么解决
  15. 3Dmax基础:游戏建模渲染小技巧
  16. AI PNG Enlarger (AI图片放大工具) - 用深度学习AI算法放大图片,不模糊并保持透明度
  17. 利用状态机及Astar插件实现dots下寻路
  18. Beetl2.7.13 中文文档
  19. 华硕电脑桌面没有计算机图标 怎么弄出来,电脑桌面图标不见了怎么恢复 电脑桌面图标怎么随意设置...
  20. NVIDIA NCCL 源码学习(九)- 单机内ncclSend和ncclRecv的过程

热门文章

  1. 《编程珠玑》笔记3 数据结构选择
  2. asp.net跨页面传值收集
  3. 3章-字符串类型操作
  4. 关于Ajax 4-9
  5. vue-devtools chrome 开发工具
  6. so文件成品评论【整理】
  7. 迷宫算法——验证迷宫的可通性
  8. MY MOBILER v1.23 - 类似SOTI Pocket Controller的免费工具
  9. VirtualBox 安装失败的主要原因 不是正版的OS,系统主题需要还原
  10. selenium===使用docker搭建selenium分布式测试环境