leader-follower线程模型

线程有三种角色,或者说有三种状态:

  • leader

    最多只有一个leader线程,负责监听事件
  • processor

    处理实际的事件,leader监听到事件之后,会释放leader权限,变成processor,处理事件
  • follower

    不监听事件,也不负责处理事件,竞争成为leader(通过独占锁实现,抢占到锁就变成leader),processor线程处理完事件之后,变成了follower,follower竞争到锁,变成leader

leader-follower 线程状态转换:

这种线程模型不依赖队列,leaderprocessor只是角色变化,避免了线程上下文的切换。

TAG:none