领导者-追随者模型介绍
2014-04-07 22:04
183 查看
这几天翻了些文章,发现对领导者/追随者模型说的比较少,下面就这个模型打个比
方:
话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
一般就是有一个山贼在山路口察看,其他人在林子里面睡觉。
假如发现有落单的过往客商,望风的山贼就会弄醒一个睡觉的山贼,然后自己去打
劫。
醒来的山贼接替作望风的事情。
打劫的山贼搞定以后,就会去睡觉,直到被其他望风的山贼叫醒来望风为止。
有时候过往客商太多,而山贼数量不够,有些客商就能侥幸平安通过山岭(所有山贼
都去打劫其他客商了)。
下面是这个模式的计算机版本:
有若干个线程(一般组成线程池)用来处理大量的事件
有一个线程作为领导者,等待事件的发生;其他的线程作为追随者,仅仅是睡眠。
假如有事件需要处理,领导者会从追随者中指定一个新的领导者,自己去处理事件
。
唤醒的追随者作为新的领导者等待事件的发生。
处理事件的线程处理完毕以后,就会成为追随者的一员,直到被唤醒成为领导者。
假如需要处理的事件太多,而线程数量不够(能够动态创建线程处理另当别论),则
有的事件可能会得不到处理。
这个模型其实并不难于理解,但是我想假如是中国人给起的名字的话,也许会叫作
"皇帝轮流做,今年到我家" 模型更加贴切,因为领导者追随者之间是一种平等的关
系。这不符合大部分人对于"领导者-追随者"的通常意义的理解。
方:
话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
一般就是有一个山贼在山路口察看,其他人在林子里面睡觉。
假如发现有落单的过往客商,望风的山贼就会弄醒一个睡觉的山贼,然后自己去打
劫。
醒来的山贼接替作望风的事情。
打劫的山贼搞定以后,就会去睡觉,直到被其他望风的山贼叫醒来望风为止。
有时候过往客商太多,而山贼数量不够,有些客商就能侥幸平安通过山岭(所有山贼
都去打劫其他客商了)。
下面是这个模式的计算机版本:
有若干个线程(一般组成线程池)用来处理大量的事件
有一个线程作为领导者,等待事件的发生;其他的线程作为追随者,仅仅是睡眠。
假如有事件需要处理,领导者会从追随者中指定一个新的领导者,自己去处理事件
。
唤醒的追随者作为新的领导者等待事件的发生。
处理事件的线程处理完毕以后,就会成为追随者的一员,直到被唤醒成为领导者。
假如需要处理的事件太多,而线程数量不够(能够动态创建线程处理另当别论),则
有的事件可能会得不到处理。
这个模型其实并不难于理解,但是我想假如是中国人给起的名字的话,也许会叫作
"皇帝轮流做,今年到我家" 模型更加贴切,因为领导者追随者之间是一种平等的关
系。这不符合大部分人对于"领导者-追随者"的通常意义的理解。
相关文章推荐
- 领导者-追随者模型介绍
- 领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型都是常用的客户-服务器编程模型
- 领导者 -追随者(Leader/Followers)模型的比喻
- 领导者-追随者模型的比喻
- 领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型
- 线程池模型:领导者/追随者 半同步/半异步模型
- 领导者-追随者模型的比喻
- ThinkPHP 的模型使用详细介绍--模型的核心(七)
- Java 安全模型介绍
- WINCE6.0显示驱动模型介绍
- 通用信息模型 CIM 开发介绍
- Leader/Follower多线程网络模型介绍
- 算法、模型的介绍
- 神经网络机器翻译模型介绍-总结
- 通过金矿模型介绍动态规划
- DOM(Document Object Model)文档对象模型的介绍
- IO模型介绍以及同步异步阻塞非阻塞的区别
- 基于嵌入式Linux的视频采集系统---UVC驱动模型介绍
- 介绍一个成功的 Git 分支模型
- 通过金矿模型介绍动态规划