这不仅仅两个山贼的故事!

先介绍下关系:

下面开始讲故事:

1、领导者/追随者模型:

故事:

  1. 话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
  2. 一般就是有一个山贼在山路口察看,其他人在林子里面睡觉。
  3. 假如发现有落单的过往客商,望风的山贼就会弄醒一个睡觉的山贼,然后自己去打劫。
  4. 醒来的山贼接替作望风的事情。
  5. 打劫的山贼搞定以后,就会去睡觉,直到被其他望风的山贼叫醒来望风为止。
  6. 有时候过往客商太多,而山贼数量不够,有些客商就能侥幸平安通过山岭(所有山贼都去打劫其他客商了)。

server:

  1. 有若干个线程(一般组成线程池)用来处理大量的事件
  2. 有一个线程作为领导者,等待事件的发生;其他的线程作为追随者,仅仅是睡眠。
  3. 假如有事件需要处理,领导者会从追随者中指定一个新的领导者,自己去处理事件。
  4. 唤醒的追随者作为新的领导者等待事件的发生。
  5. 处理事件的线程处理完毕以后,就会成为追随者的一员,直到被唤醒成为领导者。
  6. 假如需要处理的事件太多,而线程数量不够(能够动态创建线程处理另当别论),则有的事件可能会得不到处理。

2、半同步/半异步

故事:

  1. 话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
  2. 他们有一个山贼头头,他专门负责望风,其他的喽罗待命。
  3. 假如发现有落单的过往客商,山贼头头会到路口拦路,让客商双手抱头蹲在地上,然后让一个小喽罗为这个倒霉鬼"服务"。
  4. 假如客商很多,山贼头头会让客商在地上蹲成一排(严肃点,排队啦,打劫啦)。 一群小喽罗挨个为大家"服务"。
  5. 头头的工作很重要,对于每个客商他都不会花费太多时间,拦路以后,他会让客商排队等待打劫。
  6. 过往客商太多而山贼数量不够,客商的排队可能需要等待较长的时间。

3、半同步/半反应堆

  1. 话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。
  2. 他们有一个山贼头头,他专门负责望风,其他的喽罗待命。
  3. 然而这群喽啰贪财如命,各个抢着“服务”客商,但是每人又只能最多“服务”一位。
  4. 假如山贼头头拦下客商,闲着的喽啰们就会抢着服务,然而每次只有一个喽啰抢到。
  5. 假如客商很多,山贼头头会让客商在地上蹲成一排(严肃点,排队啦,打劫啦)。 一群小喽罗挨个为大家"服务"。
  6. 头头的工作很重要,对于每个客商他都不会花费太多时间,拦路以后,他会让客商排队等待打劫。
  7. 过往客商太多而山贼数量不够,客商的排队可能需要等待较长的时间。

两种高效的并发模式:半同步/半异步和领导者/追随者相关推荐

  1. Linux网络编程——Day12 两种高效的并发模式

    今天继续学习高性能服务器框架,上一篇关于高性能服务器的基础知识连接如下: Linux网络编程-Day11 高性能服务器程序框架_Jane_Librastar的博客-CSDN博客https://blog ...

  2. 两种高效的并发模式:半同步/半异步模式、领导者/追随者模式

    文章目录 半同步/半异步模式(half-sync/half-async) 半同步/半反应堆(half-sync/half-reactive)模式 相对高效的半同步/半异步模式 领导者/追随者模式(Le ...

  3. 两种高效的事件处理模式

    两种I/O多路复用模式:Reactor和Proactor 一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer).分离器对象可将来自事件源的I/O事件分离出来, ...

  4. Linux服务器 | 服务器模型与三个模块、两种并发模式:半同步/半异步、领导者/追随者

    文章目录 两种服务器模型及三个模块 C/S模型 P2P模型 I/O处理单元.逻辑单元.存储单元 并发 同步与异步 半同步/半异步模式 变体:半同步/半反应堆模式 改进:高效的半同步/半异步模式 领导者 ...

  5. 两种并发模式:半同步半异步 领导者追随者

    介绍 半同步半异步     介绍     变体        半同步半反应堆        高效的半同步半反应堆  领导者追随者     介绍     实现       组成       过程   优 ...

  6. 半同步半异步模式 -------一个架构模式,清晰的结构,高效并发的I/O

    译者: cuichaox@gmail.com 英文原文: http://www.cs.wustl.edu/~schmidt/PDF/HS-HA.pdf http://www.cs.wustl.edu/ ...

  7. Linux网络编程 | 并发模式:半同步/半异步模式、领导者/追随者模式

    文章目录 同步与异步 半同步/半异步模式 变体:半同步/半反应堆模式 改进:更高效的半同步/半异步模式 领导者/追随者模式 组件 :句柄集.线程集.事件处理器 并发模式是指I/O处理单元和多个逻辑单元 ...

  8. 高效的半同步/半异步模式的实现

    先介绍一下半同步/半异步模式: 首先半同步/半异步模式中的同步和异步和前面的IO模型中的同步和异步是完全不用的概念.在IO模型中,同步和异步区分的是内核向应用程序通知的是何种IO事件(是就绪事件还是完 ...

  9. 半同步半异步模式以及Leader_Follwer模式

    这里提到的两个设计模式都是用于高并发系统(例如一个高性能的网络服务器)的.这里我只是简单地提一下:    1. 半同步/半异步(half-sync/half-async ): 三. 半同步-半异步模型 ...

最新文章

  1. 【洛谷P1697】货车运输
  2. 基于SSM实现考研信息管理平台系统
  3. 重磅 |“吴恩达deeplearningai”官方微信公众号已经上线!
  4. 老男孩python全栈开发视频教程_老男孩Python全栈开发(92天全)视频教程 自学笔记16...
  5. [BZOJ1880] [Sdoi2009] Elaxia的路线 (SPFA 拓扑排序)
  6. python 示例_带有示例的Python列表copy()方法
  7. SQL Server死锁
  8. 【研究方向是SDN该怎么做?】软件定义网络(SDN)的安全挑战和机遇
  9. C# 保存byte[]到数据库和读取,把byte[]写进文件文件中
  10. leetcode刷题:删除链表中的节点
  11. C#处理鼠标和键盘事件
  12. NLog 2.0.0.2000 使用实例
  13. bzoj 1662: [Usaco2006 Nov]Round Numbers 圆环数(枚举)
  14. [Istioc]Istio部署sock-shop时rabbitmq出现CrashLoopBackOff
  15. ACM-ICPC 2017 Asia Xi'an A XOR (线性基+线段树思想)
  16. Atitit 获取数据库表主键功能的实现 数据库模块 艾提拉attilax总结 package com.attilax.sql; import java.sql.Connection; im
  17. php open_basedir绕过,PHP绕过open_basedir列目录的研究
  18. c语言 椭圆,C语言画圆椭圆
  19. 谷歌地图离线发布系列之偏移处理(三)纠偏算法
  20. 怎样用Excel搜索表格内的内容?

热门文章

  1. 【原创】各种族对抗之战法
  2. 【无标题】移动软件开发第三课之视频播放小程序
  3. centos 7下fvcom 4.0的安装(带安装脚本)
  4. 提高 “非技术性” 能力是关键
  5. 【微软算法面试高频题】超级洗衣机
  6. Python 假设有列表 a=[‘name’,’age’,’sex’]和b=[‘Dog’,38,’Male’],请编写程序将这两个列表的内容转换为字典
  7. TCP的三次握手和四次分手过程详解
  8. Bios放在flash里面,如何启动(xip)
  9. 各品牌机进BIOS/启动设备选择/U盘启动按键
  10. 100道Python面试题总结