面试官 谈谈你对IO多路复用的了解

  • 电脑网络维修
  • 2024-11-15

“IO 多路复用”是编程中经常出现的技术词汇,经常使用这种技术的框架有很多,如,Redis、Kafka、Netty、Nginx 中都用到了此技术。那疑问来了,什么是 IO 多路复用?它的详细成功技术有哪些?这些技术之间有什么区别?当天咱们就来便捷的讨论一下。

IO 多路复用技术是一种准许单个线程治理多个网络衔接的技术,它使得主机能够高效地处置少量的并发衔接而不须要为每个衔接创立一个独立的线程或进程。

构想假设客户端有不可胜数个的状况下,那么非 IO 多路复用就会有不可胜数个线程,那么就会出现 IO 适度争抢和多线程切换的疑问,由于 CPU 资源只要几个,而要口头的线程却有不可胜数个。

罕用的 IO 多路复用成功技术有:select、poll、epoll 和 kqueue 等,它们的详细引见如下。

文件形容符数量受限 :通常限度为 1024 个,可以经过修正系统参数来参与这个限度,但这样做会消耗更多的系统资源。

效率低下 :每次调用 select 都须要将文件形容符列表复制到内核,审核完后又须要复制回用户空间,这关于少量文件形容符来说效率很低。

不支持边缘触发形式 :只支持水平触发形式。

边缘触发形式 VS 水平触发形式

好处 :缩小了系统调用次数,提高了效率,特意适宜于大数据量传输的场景。

缺陷 :要求运行程序必需在接纳到事情后尽或者多地读取或写入数据,否则或者会错事先续的数据。因此,边缘触发形式对编程的要求较高,须要愈加小心肠处置。

有数量限度 :没有文件形容符数量限度。

高效 :只要生动的文件形容符才会被传递给用户空间,缩小了不用要的复制操作。

配置弱小 :支持边缘触发和水平触发两种上班形式。

配置更弱小 :不只支持文件形容符的事情通知,还能处置其余类型的事情。

性能低劣 :与 epoll 相似,只要生动的文件形容符才会被处置,从而提高了效率。

select、poll、epoll 和 kqueue 之间的区别如下:

技术称号

支持平台

衔接数限度

IO效率

数据拷贝形式

跨平台

自动1024

每次调用都拷贝

跨平台

每次调用都拷贝

Linux 特有

仅在 epoll_ctl 时拷贝

MacOS、FreeBSD 等

详细成功形式或者因系统而异,但通常也是高效的。

什么叫做“文件形容符”?IO 多路复用为什么要启动“数据拷贝”?

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7384.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号