当前位置: 首页 > news >正文

汕头制作手机网站企业站官网

汕头制作手机网站,企业站官网,wordpress xcache,月夜直播下载I/O复用模型 传统阻塞I/O模型 串行化处理,就是要等,假如进行到accept操作,cpu需要等待客户端发送的数据到tcp接收缓冲区才能进行read操作,而在此期间cpu不能执行任何操作。 I/O复用 用一个进程监听大量连接,当某个连…
  1. I/O复用模型
    1. 传统阻塞I/O模型

      串行化处理,就是要等,假如进行到accept操作,cpu需要等待客户端发送的数据到tcp接收缓冲区才能进行read操作,而在此期间cpu不能执行任何操作。
      在这里插入图片描述

    2. I/O复用

      用一个进程监听大量连接,当某个连接可读/可写的时候,系统就发送事件通知进程处理该连接的数据。即进程不会当某个连接还没准备好的时候,进程不会等它准备好,而是去处理其它任务。

在这里插入图片描述

  1. epoll网络编程

    epoll是linux提供的I/O复用API,是一种事件驱动的I/O模型,它可以用于高效地处理大量的并发连接。其中,'e’代表"event"(事件),意味着epoll可以监测并响应特定的事件,如文件描述符上的读写事件、错误事件等。这种事件驱动的模型可以有效地管理和处理大规模的并发连接,提高系统的性能和效率。

    epoll触发条件

    1. 条件触发
      1. 缓冲区可读/写(缓冲里有东西就一直触发)
    2. 边缘触发
      1. 只有在缓冲区从不可写切换到可写才触发一次
      2. 只有收到客户端数据时才触发一次(即使读取数据后还有数据也不会再触发)
  2. redis的epoll

    redis事件api

    1. aeApiCreate:初始化I/O复用机制上下文环境
    2. aeApiAddEvent、aeApiDelEvent:增加或删除一个监听对象
    3. aeApiPoll:阻塞进程,等待事件就绪或给定事件到期
    4. aeEventLoop:redis事件循环器,负责管理事件
    5. aeFileEvent:存储一个文件描述符已注册的文件事件
    6. aeTimeEvent:存储一个时间事件的信息

    redis中会有一个专门的结构体来存放epoll数据(aeApiState)

    aeApiCreate负责初始化I/O复用机制的上下文环境:

    1. 创建aeApiState结构体,为aeApiState.events申请空间,用于存放后续已就绪事件
    2. 调用epoll_create创建epoll实例
    3. 将aeApiState结构赋值给eventLoop.apidata
      1. eventLoop轮询apidata中的events的文件描述符(fd),如果该fd已经存在监听对象就修改监听对象,否则添加监听对象。
      2. 将AE(redis定义的读/写)抽象事件转换为epoll事件类型,AE_READABLE(可读)转换为epoll的EPOLLIN事件(缓冲区可读),AE_WRITE对应epoll的EPOLLOUT事件(缓冲区可写),由此可见redis用的是epoll的条件触发
      3. 调用epoll_ctl函数,往epoll实例中添加或修改监听对象
    4. aeApiPoll在aeEventLoop每次被调用,负责阻塞进程等待事件发生或者等待时间过期:
      1. 调用epoll_wait函数,阻塞事件发生或给定时间到期
      2. 如果I/O复用机制中有事件就绪,则将已就绪事件装载到eventLoop.fired中
        1. epoll中的事件要转换为redis事件,如EPOLLIN要转换为AE_READABLE
http://www.yayakq.cn/news/940910/

相关文章:

  • 私人网站免费观看中国建设银行校园招聘网站
  • 西部数码网站开发管理助手怎么查网站是用什么语言做的
  • 海口建站网站模板十堰网站建设u2028
  • 福建就福建省住房与城乡建设厅网站南京企业官网建设
  • python能做网站开发吗云阳有没有做网站的
  • 网站开发哪里接业务什么网站可以免费发布招聘信息
  • wordpress个人下载网站模板下载网络服务器配置与管理论文
  • 网站的建设思想深圳建设 骏域网站建设专家
  • 网络推广平台加盟郑州东区网站优化公司推荐
  • 在自己电脑上建设网站网站开发 技术难点
  • 深圳外贸网站开发织梦网站头部
  • 网站设置怎么调大流量ip网站怎么做
  • 西安市未央区建设局官方网站南京小程序网站开发
  • 泰兴做网站网站建立者
  • 沈阳网站建设本地化技术服务学习html的网站
  • 珠海网站建设杰作科技中企动力建站怎么样
  • 企业网站改版项目描述静态网站模版
  • 优狐网站建设wordpress 下一篇文章
  • 金乡县网站开发诸城盟族网站建设
  • 企业关键词排名优化哪家好东莞百度推广优化排名
  • 时间轴网站设计百度联系电话
  • 温州做美食网站定制网站建设多少钱
  • 网站数据分析工具有哪些一个人在线观看免费高清视频动漫
  • 会员制网站 建设简单个人博客模板网站
  • 网站建设公司企业文化wordpress+php允许上传文件大小
  • 网站建设新闻发布注意事项深圳宝安网站设计公司
  • 如何自己做公司网站建立网站站点方法
  • 建立网站费用表网站建设招标流程
  • 福建漳州东山建设局官方网站wap自助建论坛网站
  • 泰安高端网站建设沈阳免费做网站