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

上海网站建设找缘魁形象设计公司网站建设方案书

上海网站建设找缘魁,形象设计公司网站建设方案书,鹤岗哈尔滨网站建设,企业规划设计1.前景回顾 无论是阻塞IO还是非阻塞IO#xff0c;用户应用在一阶段都需要调用recvfrom来获取数据#xff0c;差别在于无数据时的处理方案#xff1a; 如果调用recvfrom时#xff0c;恰好内核没有数据#xff0c;那么阻塞IO会使用户进程阻塞#xff0c;非阻塞IO使CPU进行空…1.前景回顾 无论是阻塞IO还是非阻塞IO用户应用在一阶段都需要调用recvfrom来获取数据差别在于无数据时的处理方案 如果调用recvfrom时恰好内核没有数据那么阻塞IO会使用户进程阻塞非阻塞IO使CPU进行空转都不能充分发挥CPU的作用。 如果调用recvfrom时恰好内核有数据则将内核数据读取到用户区处理即可。 而且在多个读取请求单线程处理的情况下只能依次处理一个个请求一旦正在处理的请求的数据没有准备好那么全体阻塞性能很差。 可以利用多线程来改进但也要考虑上下文切换的时间成本。能不能利用一个线程同时监听这多个读请求一旦哪个请求所需要的数据在内核中准备就绪了我们就去读取数据。 那么用户进程如何知道内核中的数据是否准备好了呢 2.FD(文件描述符) 文件描述符简称FD是一个从0开始递增的无符号整数用来关联Linux中的一个文件也包括Socket。IO多路复用是利用一个线程来同时监听多个FD并在某个FD可读、可写时得到通知从而避免无效的等待充分利用CPU资源。 3.IO多路复用概述 监听FD的方式又有多种实现监听都是在内核实现的常见的有select、poll和epoll模式。 它们之间的差异在于 select和poll只会通知用户进程有几个FD就绪但不确定具体是哪个FD还是需要用户进程逐个遍历FD来确认。 epoll则会在通知用户进程FD就绪的同时把已经就绪的FD写入用户空间。 4.IO多路复用——select select是Linux中最早的I/O多路复用实现方案采用数组实现 4.1select方案的缺点 用户进程无法得知是哪个fd就绪需要遍历整个fd_set。 fd_set监听的fd数量不超过1024。 需要来回将整个fd_set在用户和内核之间互相拷贝。 5.IO多路复用——poll poll模式对select模式做了简单的改进但性能提升不明显也是只会通知用户进程有几个fd准备就绪了。区别就是poll模式在内核中采用链表存储理论上无上限但是监听的FD越多每次遍历耗时也会越长性能反倒会下降。 6.IO多路复用——epoll epoll模式中内核采用的是call back事件回调利用红黑树保存要监听的FD而且每个FD只需要初始时添加一次到红黑树等到红黑树中的FD就绪了会自动触发事件把对应的FD加入到一个就绪列表(list_head)中当用户进程要检查内核就绪列表时(调用epoll_wait)如果列表不为空则返回已就绪的FD的数量并把链表中的值拷贝到用户空间的events数组中用户空间根据数组中的值就能直接定位可以读取的FD然后去读取数据即可。 7.IO多路复用——事件通知机制 对于用户进程来说我们调用epoll_wait函数查看就绪列表就能得到fd的通知。其事件通知的模式有两种LT和ET。一个例子 LT当就绪队列中有可读的FD时调一次通知一次这样会重复通知多次直至数据全部读取完成。(默认) ET当就绪队列中有可读的FD时只会通知一次然后直接删除不管用户是否一次能够读完。 根据上面的分析我们发现那肯定是LT好但是LT会存在惊群问题比如我们有多个进程同时在关心这一个socket的读取数据其实实际读取操作一两个进程就能完成但是你每次一调用epoll_wait函数都会惊动所有进程去读所以就没有必要。 8.IO多路复用——Web服务流程
http://www.huolong8.cn/news/306778/

相关文章:

  • 备案号被取消 没有重新备案网站会被关闭吗seo广州工作好吗
  • 2017做电商做什么网站怎么增加网站的外链
  • 湖南郴州seo 页面
  • 生态农业网站模板网站后台放在哪里
  • 荷城网站设计怎样进入医院公众号
  • 申请免费网站公司wordpress顶部商城选项实现
  • 广西建设职业技术学院图书馆网站抖音企业推广
  • 做网站和做app哪个贵企业建立网站账户如何做
  • 自己做网站导航在线设计网站免费
  • 登录官方网站周末做兼职上什么网站找
  • php mysql网站开发项目式教程网络工程专业就业前景
  • 商城网站有哪些模板下载网站源码
  • 网站建设遵循的原则汽车音响网站建设
  • linux做网站网站建设服务哪便宜
  • 网站建设的优点与不足网站开发 原理
  • 泰安肥城网站建设网页网站设计价格
  • 网站建设否定关键词网站开发后台需要自己写吗
  • 白云免费网站建设广州建设技术职业学院是公办吗
  • 携程企业网站建设的思路高港区企业网站建设
  • 做a暧小视频在线观看网站做钓鱼网站原理
  • 网站设计就业培训个人主页网站制作
  • 平台网站开发风险杭州网站建设(推荐乐云践新)
  • 俄语网站模板c2c电子商务网站有哪些
  • 重庆网站建设公司销售湖南网站开发企业
  • 岳阳做网站济南网站建设哪家强 资海
  • 做网站建设科技公司沈阳企业网站优化排名方案
  • 石家庄做网站的有哪些公司重庆建设工程招投标信息网
  • 好的销售网站网站制作论文
  • 高中教学网站网页微博怎么切换账号
  • 网站建设.软件开发全自动引流推广软件下载