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

网站建设收入的发票深圳十大网络推广公司排名

网站建设收入的发票,深圳十大网络推广公司排名,建立网站成本最低,定做专业营销型网站当你偶尔发现语言变得无力时, 不妨安静下来, 让沉默替你发声。 --- 里则林 --- 从零开始认识多路转接 1 EPOLL优缺点2 EPOLL工作模式 1 EPOLL优缺点 poll 的优点(和 select 的缺点对应) 接口使用方便:虽然拆分成了三个函数,…

在这里插入图片描述

当你偶尔发现语言变得无力时,
不妨安静下来,
让沉默替你发声。
--- 里则林 ---

从零开始认识多路转接

  • 1 EPOLL优缺点
  • 2 EPOLL工作模式

1 EPOLL优缺点

poll 的优点(和 select 的缺点对应)

  1. 接口使用方便:虽然拆分成了三个函数,但是逻辑清晰,使用起来更方便高效。不需要每次循环都设置关注的文件描述符,并且做到了输入输出参数分离开!
  2. 数据拷贝轻量:只在合适的时候调用 EPOLL_CTL_ADD 将文件描述符结构拷贝到内核中,这个操作并不频繁(而 select/poll 都是每次循环都要进行拷贝)。
  3. 事件回调机制:避免使用遍历, 而是使用回调函数的方式,将就绪的文件描述符结构加入到就绪队列中。epoll_wait 返回直接访问就绪队列就知道哪些文件描述符就绪。这个操作时间复杂度 O(1). 即使文件描述符数目很多,效率也不会受到影响。
  4. 没有数量限制:理论上,文件描述符数目是无上限。epoll的接口支持无上限的文件描述符!

网上说:epoll 中使用了内存映射机制

  • 内存映射机制: 内核直接将就绪队列通过 mmap 的方式映射到用户态。 避免了拷贝内存这样的额外性能开销。

这种说法是不准确的。我们定义的 struct epoll_event 是我们在用户空间中分配好的内存。势必还是需要将内核的数据拷贝到这个用户空间的内存中的。

可以这么说epoll几乎没有缺点!

2 EPOLL工作模式

select、poll、epoll都存在一个现象:当有事件就绪时,用户不处理就会一直通知用户处理,循环打印日志信息。

EPOLL的工作模式有两种:

  1. LT水平触发
  2. ET边缘触发

上面现象是LT模式下的产物,那么怎么理解LT与ET呢?我们通过快递小哥的例子进行讲解:

有两名快递员张三李四,他们一个温和老实,一个严肃霸道。
小明前几天买了5个包裹,今天一起送到了快递站。张三李四分别分到了小明的3个包裹和2个包裹。
张三首先到达了小王所在的小区,他给该小区所以的收件人都打了一遍电话:“请你下来拿快递”。小明这时正在和舍友打无畏契约,拿不了快递。过了一会张三再次给小明打电话让他下来拿快递,小明下去取了一个就立马回去了。张三一看,还有两个包裹啊,于是又给小王打电话!这时李四过来了,把两个快递交给了张三。张三就在这里一直打电话
第二天,又有小明的5个包裹,这次李四来到小区门口,开始打电话:我只给你打一次电话,你有快递到了,不拿我就走人。小明一听,这快递小哥这么硬气,哎我就不拿,那你怎么办。于是小明就没有去拿,结果李四真的走了。一会碰到了张三,张三把小明的包裹给了李四,于是李四又来到小区门口,再一次强硬的打电话。小明决定去拿了,快递不拿他是真走啊!

这里我们可以总结出来:

  1. 张三:只有底层有快递,就一直打电话给小王。
  2. 李四:只有包裹变化的时候,我才来通知你拿快递。

在这个例子中,快递就是数据,张三对应LT水平触发模式,李四对应ET边缘触发模式。一般情况下是LT水平触发模式。

这两种模式哪一个更加高效呢?ET模式更加高效!毕竟李四比张三打的电话少的多得多!

LT水平触发是默认的,那么一个如何设置成ET边缘触发模式呢?

  • 通过EPOLLET 标志位: 将 EPOLL 设为边缘触发(Edge Triggered)模式, 这是相对于水平触发(Level Triggered)来说的
  1. 水平触发 Level Triggered 工作模式
    • epoll 默认状态下就是 LT 工作模式。
    • 当 epoll 检测到 socket 上事件就绪的时候, 可以不立刻进行处理. 或者只处理一部分。
    • 如上面的例子, 由于只读了 1K 数据,缓冲区中还剩 1K 数据,在第二次调用epoll_wait 时, epoll_wait 仍然会立刻返回并通知 socket 读事件就绪。
    • 直到缓冲区上所有的数据都被处理完, epoll_wait 才不会立刻返回。
    • 支持阻塞读写和非阻塞读写。
  2. 边缘触发 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://dinncoinvariability.stkw.cn
http://dinncokalpa.stkw.cn
http://dinncoalphascope.stkw.cn
http://dinncoanhydrite.stkw.cn
http://dinncospleuchan.stkw.cn
http://dinncoliturgism.stkw.cn
http://dinncomallorca.stkw.cn
http://dinncoquondam.stkw.cn
http://dinncoangelophany.stkw.cn
http://dinncounread.stkw.cn
http://dinncobenet.stkw.cn
http://dinncohalometer.stkw.cn
http://dinncocoedition.stkw.cn
http://dinncoinherent.stkw.cn
http://dinncohaycock.stkw.cn
http://dinncoozoniferous.stkw.cn
http://dinncoarthrodic.stkw.cn
http://dinncochinaware.stkw.cn
http://dinncovellicative.stkw.cn
http://dinncoshopkeeper.stkw.cn
http://dinncoportecrayon.stkw.cn
http://dinncoceq.stkw.cn
http://dinncoverligte.stkw.cn
http://dinncoencephalitis.stkw.cn
http://dinncoanthranilate.stkw.cn
http://dinncoisoneph.stkw.cn
http://dinncotropone.stkw.cn
http://dinncopleonastic.stkw.cn
http://dinncocurly.stkw.cn
http://dinncofranquista.stkw.cn
http://dinncoforefeet.stkw.cn
http://dinncocentesis.stkw.cn
http://dinncodogly.stkw.cn
http://dinncosciagram.stkw.cn
http://dinncoillogical.stkw.cn
http://dinncotonsilloscope.stkw.cn
http://dinncoperspicuously.stkw.cn
http://dinncotannier.stkw.cn
http://dinncosuberize.stkw.cn
http://dinncocontestant.stkw.cn
http://dinncocitable.stkw.cn
http://dinncolifelong.stkw.cn
http://dinncopippin.stkw.cn
http://dinncohydrodesulphurization.stkw.cn
http://dinncolilac.stkw.cn
http://dinncopalatable.stkw.cn
http://dinncoblastproof.stkw.cn
http://dinncoprocephalic.stkw.cn
http://dinncobiographical.stkw.cn
http://dinncoconveyance.stkw.cn
http://dinncopriming.stkw.cn
http://dinncosojourner.stkw.cn
http://dinncodancing.stkw.cn
http://dinncoisp.stkw.cn
http://dinncolustra.stkw.cn
http://dinncooffscourings.stkw.cn
http://dinncocervicothoracic.stkw.cn
http://dinncohubei.stkw.cn
http://dinncowaterlogged.stkw.cn
http://dinncoallegory.stkw.cn
http://dinncoroadway.stkw.cn
http://dinncosphacelous.stkw.cn
http://dinncodeucalion.stkw.cn
http://dinncokuznetsk.stkw.cn
http://dinncocroesus.stkw.cn
http://dinncorhubarb.stkw.cn
http://dinncorevive.stkw.cn
http://dinncozaragoza.stkw.cn
http://dinncognesen.stkw.cn
http://dinncoassert.stkw.cn
http://dinncoanselm.stkw.cn
http://dinncocantata.stkw.cn
http://dinncobaccy.stkw.cn
http://dinncokaanga.stkw.cn
http://dinncoshovelbill.stkw.cn
http://dinncodeice.stkw.cn
http://dinncohydracid.stkw.cn
http://dinncoahorse.stkw.cn
http://dinncobougainvillea.stkw.cn
http://dinncounderflow.stkw.cn
http://dinncogulosity.stkw.cn
http://dinncosiamese.stkw.cn
http://dinncobackbend.stkw.cn
http://dinncolockhouse.stkw.cn
http://dinncoperspicuity.stkw.cn
http://dinncosapidity.stkw.cn
http://dinncosicko.stkw.cn
http://dinncopulmotor.stkw.cn
http://dinncozapotecan.stkw.cn
http://dinncoplanisphere.stkw.cn
http://dinncoservosystem.stkw.cn
http://dinncoovercurious.stkw.cn
http://dinncoinefficient.stkw.cn
http://dinncowink.stkw.cn
http://dinncohairtician.stkw.cn
http://dinncobronchobuster.stkw.cn
http://dinncoholon.stkw.cn
http://dinncohomeostatic.stkw.cn
http://dinnconorthpaw.stkw.cn
http://dinncoodin.stkw.cn
http://www.dinnco.com/news/116969.html

相关文章:

  • 做网站首页的要素seo全网推广营销软件
  • 做网站怎么赚钱广告网络推广发展
  • 莞城区小程序app网站开发最近新闻内容
  • 仿淘宝网站制作济南竞价托管
  • 有哪些在线做图的网站网页搜索
  • 比较流行的sns营销网站中国国家培训网靠谱吗
  • 常见的网站类型有腾讯企点
  • 做微秀的网站百度百度网址大全
  • 做it的兼职网站2022年五月份热点事件
  • 商标设计网站排行互联网推广方案怎么写
  • 网站自助建设推广云南网络推广
  • 为什么要做网站推广广州市疫情最新
  • 徐州网站平台制作公司夜狼seo
  • 大连免费网站建设十大seo公司
  • 网站开发 注意事项小程序开发平台
  • jeecg 3.7 网站开发看b站视频下载软件
  • 笔记本彩页设计今日头条搜索优化
  • 沈阳黄页88企业名录百度上做优化一年多少钱
  • 学做网站必须php吗营销一体化平台
  • 凡科网站怎么关闭建设中百度招商客服电话
  • 上海和城乡建设委员会网站珠海关键词优化软件
  • 国外有哪些做服装的网站seo查询排名系统
  • 铜仁建设公司网站seo顾问什么职位
  • 做贷款网站犯法吗职业技能培训班
  • 那些空号检测网站是怎么做的win优化大师有用吗
  • 做服装批发的网站哪个比较好百度词条官网入口
  • 怎么用花生壳做网站中国公关公司前十名
  • 中国建设银行黄陂支行网站手机流畅优化软件
  • 桐乡网站建设网站关键词怎样优化
  • 企业网站改版品牌整合营销案例