并发模式-半同步/半异步&&领导者/追随者

高并发模式

高并发模式意义:对于IO 密集型的程序,因为IO 的操作速度远远小于CPU 的计算速度, 所以 如果程序阻塞于IO操作将大量浪费CPU。 但如果是多线程情况下,被IO阻塞的线程可以放弃CPU(或操作系统调度),将执行权转移给其他线程。高效率的使用CPU。

  • 半同步/半异步模式

    这里的同步与异步模式与IO模式中的同步异步概念不同。 这里同步模式是指程序按照代码序列的顺序执行,异步是指程序的执行需要由系统事件来驱动。常见的系统调用包括中断, 信号等

    例子

    • 主进程只负责监听socket, 连接socket由工作线程来管理。当由新连接到来时,主线程就接受之并将新返回的连接socket 派发给(通过管道写)某个工作线程。
    • 工作线程处理新连接socket 上的IO 请求, 直至客户端断开socket连接。当管道上有socket连接事件时,将socket 上的读写事件注册到自己的epoll内核事件表中。

    主从事件都维持自己的事件循环,主线程监听socket 事件并分发socket给工作线程,工作线程监听socket 上的读写事件并处理这些事件。

  • 领导者追随者模式

    领导者追随者模式是多个线程轮流获得事件源集合,轮流监听,分发和处理事件的一种模式。同一时间 只有一个领导者线程,其他都是追随者线程。当IO 事件到达后,领导者选出下一个领导者从追随者中,然后自己处理IO 事件。新选出的领导者监听IO 事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值