|面试官问我Linux的网络IO模式怎么办?( 三 )
前面不够细心的小伙伴可能会问了
为什么「非阻塞 I/O」是同步I/O呢?
仔细看「非阻塞 I/O」的流程图
当内核的数据准备好后 , 用户进程再次询问时 , 数据开始从内核空间拷贝到用户空间 。 这个过程中用户进程是阻塞的 , 只有当拷贝完成 , 内核返回完成信号 , 进程才会继续运行 。
所以 , 不管是「阻塞 I/O」还是「非阻塞 I/O」都是会发生阻塞
不同的是 , 「阻塞 I/O」在数据准备阶段和从内核空间拷贝到用户空间阶段都会阻塞 , 「非阻塞 I/O」只有在拷贝阶段会阻塞 。
作者:方木Rudy链接:https://juejin.im/post/5ece31e6e51d4578a51f7bf4
推荐阅读
- |支付宝面试题:如果你是支付宝的产品经理,如何让更多人用支付宝点外卖?
- 开源中国|猎鹰与龙飞船基于Linux,采用C++、Chromium与JS开发
- cnBetaTB|稳步推进普及:postmarketOS现已基于Alpine Linux 3.12稳定版
- 苹果fans博客|Scott Forstall 谈他被乔布斯面试和在苹果工作的故事
- 驱动之家|Linux 之父新电脑:15 年第一次抛弃 Intel、咬牙上 AMD 32 核心
- 杰夫视点|Linux大佬“叛变”:用了十五年Intel处理器,现在喊AMD真香
- 超能网|新装置发现26个USB漏洞,Linux占了18个
- 人工智能爱好者社区|等了整整12年!Linux QQ 终于更新了
- 『操作系统』Linux系列-VMware Workstation虚拟机安装CentOS7操作系统
- 【文件】Linux Kernel 5.8 将为 blk-mq 引入内联加密支持
