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

织梦装修公司网站模板北京企业建站公司

织梦装修公司网站模板,北京企业建站公司,沧州瑞智网站建设,网站 形象入口页当你偶尔发现语言变得无力时#xff0c; 不妨安静下来#xff0c; 让沉默替你发声。 --- 里则林 --- 从零开始认识多路转接 1 EPOLL优缺点2 EPOLL工作模式 1 EPOLL优缺点 poll 的优点(和 select 的缺点对应) 接口使用方便#xff1a;虽然拆分成了三个函数#xff0c;… 当你偶尔发现语言变得无力时 不妨安静下来 让沉默替你发声。 --- 里则林 --- 从零开始认识多路转接 1 EPOLL优缺点2 EPOLL工作模式 1 EPOLL优缺点 poll 的优点(和 select 的缺点对应) 接口使用方便虽然拆分成了三个函数但是逻辑清晰使用起来更方便高效。不需要每次循环都设置关注的文件描述符并且做到了输入输出参数分离开数据拷贝轻量只在合适的时候调用 EPOLL_CTL_ADD 将文件描述符结构拷贝到内核中这个操作并不频繁(而 select/poll 都是每次循环都要进行拷贝)。事件回调机制避免使用遍历, 而是使用回调函数的方式将就绪的文件描述符结构加入到就绪队列中。epoll_wait 返回直接访问就绪队列就知道哪些文件描述符就绪。这个操作时间复杂度 O(1). 即使文件描述符数目很多效率也不会受到影响。没有数量限制理论上文件描述符数目是无上限。epoll的接口支持无上限的文件描述符 网上说:epoll 中使用了内存映射机制 内存映射机制: 内核直接将就绪队列通过 mmap 的方式映射到用户态。 避免了拷贝内存这样的额外性能开销。 这种说法是不准确的。我们定义的 struct epoll_event 是我们在用户空间中分配好的内存。势必还是需要将内核的数据拷贝到这个用户空间的内存中的。 可以这么说epoll几乎没有缺点 2 EPOLL工作模式 select、poll、epoll都存在一个现象当有事件就绪时用户不处理就会一直通知用户处理循环打印日志信息。 EPOLL的工作模式有两种 LT水平触发ET边缘触发 上面现象是LT模式下的产物那么怎么理解LT与ET呢我们通过快递小哥的例子进行讲解 有两名快递员张三李四他们一个温和老实一个严肃霸道。 小明前几天买了5个包裹今天一起送到了快递站。张三李四分别分到了小明的3个包裹和2个包裹。 张三首先到达了小王所在的小区他给该小区所以的收件人都打了一遍电话“请你下来拿快递”。小明这时正在和舍友打无畏契约拿不了快递。过了一会张三再次给小明打电话让他下来拿快递小明下去取了一个就立马回去了。张三一看还有两个包裹啊于是又给小王打电话这时李四过来了把两个快递交给了张三。张三就在这里一直打电话 第二天又有小明的5个包裹这次李四来到小区门口开始打电话我只给你打一次电话你有快递到了不拿我就走人。小明一听这快递小哥这么硬气哎我就不拿那你怎么办。于是小明就没有去拿结果李四真的走了。一会碰到了张三张三把小明的包裹给了李四于是李四又来到小区门口再一次强硬的打电话。小明决定去拿了快递不拿他是真走啊 这里我们可以总结出来 张三只有底层有快递就一直打电话给小王。李四只有包裹变化的时候我才来通知你拿快递。 在这个例子中快递就是数据张三对应LT水平触发模式李四对应ET边缘触发模式。一般情况下是LT水平触发模式。 这两种模式哪一个更加高效呢ET模式更加高效毕竟李四比张三打的电话少的多得多 LT水平触发是默认的那么一个如何设置成ET边缘触发模式呢 通过EPOLLET 标志位: 将 EPOLL 设为边缘触发(Edge Triggered)模式, 这是相对于水平触发(Level Triggered)来说的 水平触发 Level Triggered 工作模式 epoll 默认状态下就是 LT 工作模式。当 epoll 检测到 socket 上事件就绪的时候, 可以不立刻进行处理. 或者只处理一部分。如上面的例子, 由于只读了 1K 数据缓冲区中还剩 1K 数据在第二次调用epoll_wait 时, epoll_wait 仍然会立刻返回并通知 socket 读事件就绪。直到缓冲区上所有的数据都被处理完 epoll_wait 才不会立刻返回。支持阻塞读写和非阻塞读写。 边缘触发 Edge Triggered 工作模式 如果将 socket 添加到 epoll 描述符的时候使用了 EPOLLET 标志epoll 进入 ET 工作模式。当 epoll 检测到 socket 上事件就绪时必须立刻处理。如上面的例子虽然只读了 1K 的数据缓冲区还剩 1K 的数据在第二次调用epoll_wait 的时候epoll_wait 不会再返回了。也就是说, ET 模式下文件描述符上的事件就绪后只有一次处理机会。ET 的性能比 LT 性能更高( epoll_wait 返回的次数少了很多). Nginx 默认采用ET 模式使用 epoll。只支持非阻塞的读写 假如服务端使用ET模式这时服务端需要的数据是10K客户端将这10K数据发过来服务端第一次只读取了1K的数据。由于是ET模式在客户端发送新的数据之前服务端一直不会进行读取所以ET模式下必须一次性将数据读完就要进行循环读取直到读取不到这样也就必须使用非阻塞的读取了才能支持循环读取LT模式没有这种问题。 ET模式的这种读取方式也就决定了TCP应答中TCP服务端的窗口更大客户端下一次可以发送更多的数据增加IO效率 那么LT设置成非阻塞呢那么是不是和ET模式一样了呢所以一般不能说ET模式一定比LT模式的效率更高。可是ET强制程序员必须使用非阻塞进行读取LT不会强制程序员使用非阻塞读取所以可以认为ET模式更加高效
http://www.dnsts.com.cn/news/256796.html

相关文章:

  • 网站开发要写代码吗网站备案号代码
  • 如何自己建立网站建设网页的设计流程是怎样的
  • 网站开发招标参数版式设计素材网站
  • 苏州地产网站建设淮南家居网站建设怎么样
  • 给女朋友做网站免费装潢设计网站flash源码模版php生成html免费下载
  • 网站验证码原理上传文件生成链接下载
  • 东莞如何制作自己的网站上海网站建设服
  • 网站ftp管理工具深圳市住建局
  • 百度做网站审核要多久商标注册网上缴费
  • 兰州新区城乡建设管理局网站99到家网站怎么做
  • 成功企业网站必备要素phpcms做装修网站
  • 宣传片制作网站凤翔网站建设
  • 在小说网站做责编东莞大岭山镇网站建设
  • 网站页面效果图怎么做企业邮箱登录9951026net
  • 网站建设电话销售不被挂断天元建设集团有限公司济南第六建筑分公司
  • 广州建设厅官方网站ui设计外包
  • 上海做网站报价建网站 外贸
  • 查询域名网站汕头各类免费建站
  • 未央免费做网站网站广告收费标准
  • 电子商务网站建设视频龙岩
  • 网站制作软件大全长春火车站属于哪个区
  • 做网站要有自己服务器吗百度教育网站
  • 怎么免费创建网站微信小程序开发者文档
  • ps怎样做网站设计郑州设计logo公司
  • 怎么修改网站源文件网站建设要架服务器
  • 垂直类网站怎么做阿里云网站建设有什么好处
  • 聚美优品网站建设情况58做网站一年多少钱
  • 爱下手机站网站建设需要多大的空间
  • 做网站是百度包年快照企业做网站的用途
  • 高端网站建设北京网站模板对seo的影响吗