1. 当数据达到socket缓冲区时,可能会因为一些原因被内核丢弃,比如,校验和错误,这时IO复用唤醒线程对socket读并不能读到数据,如果是阻塞IO就会被阻塞住。
  2. 这个达到缓冲区的数据不一定被丢弃,但是也有可能被别人取走了,比如多个进程accept同一个套接字时引发的惊群现象,只有一个连接到来,但是所有的监听进程都被唤醒了,但是最终只有一个进程可以accept到这个请求,其他进程在阻塞IO进程下都会被阻塞。
  3. epoll的ET模式必须要使用非阻塞IO,因为需要多次循环读写直到EAGAN出现,如果使用阻塞IO容易被阻塞住。

为什么IO复用还需要搭配非阻塞IO相关推荐

  1. 【Linux Socket C++】为什么IO复用需要用到非阻塞IO?EAGAIN的简单介绍与应用

    目录 为什么IO复用需要非阻塞的IO EAGAIN的介绍 EAGAIN的应用 为什么IO复用需要非阻塞的IO 我们可以先看一下官方的回答: 在Linux命令行输入:man 2 select 找到[BU ...

  2. 同步IO、异步IO、阻塞IO、非阻塞IO、复用IO

    参考:同步IO 异步IO 作者:今天天气眞好 发布时间: 2021-04-19 09:42:29 网址:https://blog.csdn.net/qq_51118175/article/detail ...

  3. IO复用\阻塞IO\非阻塞IO\同步IO\异步IO

    本文是对<UNIX网络编程卷1>第6章的总结. 一.            什么是IO复用? 它是内核提供的一种同时监控多个文件描述符状态改变的一种能力:例如当进程需要操作多个IO相关描述 ...

  4. 5种网络IO模型:阻塞IO、非阻塞IO、异步IO、多路复用IO、信号驱动IO

    目录 前言 阻塞IO(blocking IO) 非阻塞IO(non-blocking IO) 多路复用IO(IO multiplexing) 异步IO(Asynchronous I/O) 模型间的区别 ...

  5. 阻塞和非阻塞IO,异步和同步IO

    从网上看到一遍比较好的博客介绍阻塞和非阻塞IO,异步和同步IO的区别和各自的使用场景,虽然是从网络套接字方面解析的,不过也是适合于对驱动文件的操作,毕竟套接字的本质也是一个文件描述符. 转载内容 本文 ...

  6. 阻塞IO、非阻塞IO的区别

    阻塞IO.非阻塞IO的区别 1.类与类之间的关系:依赖,实现,泛化(继承),关联,组合,聚合. 1)依赖(虚线):一个类是 另一个类的函数参数 或者 函数返回值. 2)实现(实线加小圆):对纯虚函数类 ...

  7. 简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别

    POSIX 同步IO.异步IO.阻塞IO.非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下. ...

  8. 同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区分

    POSIX 首先了解下什么是posix 可移植操作系统接口(英语:Portable Operating System Interface,缩写为POSIX)是IEEE为要在各种UNIX操作系统上运行软 ...

  9. 【多线程】0.理解一下5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO

    5种IO模型.阻塞IO和非阻塞IO.同步IO和异步IO 看了一些文章,发现有很多不同的理解,可能是因为大家入切的角度.环境不一样.所以,我们先说明基本的IO操作及环境. 本文是在<UNIX网络编 ...

最新文章

  1. TensorFlow练习23: “恶作剧”
  2. 巴菲特:人生赢家,都是稳中求生,稳中求胜
  3. mysql运维高级_Mysql DBA 高级运维学习之路-mysql建表语句及表知识
  4. Windows 10配置VS Code C++环境(超详细,面向小白以及大佬们)
  5. Spring boot Tomcat配置
  6. python getattr和getattribute_详解Python中 __get__和__getattr__和__getattribute__的区别
  7. 在pcb放置坐标标注_PCB拼板上的那颗美人痣
  8. 利用微软输入法 入侵2003服务器,打开Word或Excel也可被攻击 金山卫士推送微软补丁...
  9. 搜索引擎 —海量数据搜索
  10. 要在一个领域取得成就,就必须有对该领域的独特的执着
  11. 计算机图像相关应用研究,计算机图像处理技术的应用探讨.pdf
  12. u-boot:env源码目录分析一
  13. 中国石油大学(北京)-《外国文学作品选读》在线考试
  14. 无线通信中比bit更小的“”数据单位”码片(也叫码元 ,chip) 什么是符号速率
  15. Java调用Zebra条码打印机打印条码、中英文数字条码混合标签,可自由控制格式和排版
  16. 读书 - 躬行 - 悟道
  17. java计算机毕业设计-数字相册管理系统-源程序+mysql+系统+lw文档+远程调试
  18. android 数据库查看工具 mac,关于android studio:在MacOS上查看Realm数据库并将adb定义为环境变量...
  19. 上帝,马加爵,谭卓 等人在天堂对话
  20. 通过git上传的文件在服务器端哪里_本地文件上传gitlab服务器

热门文章

  1. android新闻客户端实验报告,Android 新闻客户端学习笔记
  2. 安卓新闻发布系统源码,后台java springboot框架
  3. 二叉树的深度和平衡二叉树的深度
  4. 快速获取一个网站的所有资源,图片,html,css,js......扒站,仿站必备工具
  5. 三维向量类Vector类封装,包含三维向量一些基本运算
  6. 如何在Windows DOS环境下格式化硬盘
  7. python :jieba库的使用大全
  8. linux,ubuntu下软件的更新命令
  9. 【python】通过信号机制对子进程进行控制
  10. markdown列表中的缩进