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

O_NONBLOCK与O_NDELAY有何不同

为什么80%的码农都做不了架构师?>>>   hot3.png

    O_NONBLOCK和O_NDELAY所产生的结果都是使I/O变成非搁置模式(non-blocking)【即非阻塞模式】,在读取不到数据或是写入缓冲区已满会马上return,而不会搁置程序动作,直到有数据或写入完成。
    它们的差别在于设立O_NDELAY会使I/O函式马上回传0,但是又衍生出一个问题,因为读取到档案结尾时所回传的也是0,这样无法得知是哪中情况;因此,O_NONBLOCK就产生出来,它在读取不到数据时会回传-1,并且设置errno为EAGAIN。
    不过需要注意的是,在GNU C中O_NDELAY只是为了与BSD的程序兼容,实际上是使用O_NONBLOCK作为宏定义,而且O_NONBLOCK除了在ioctl中使用,还可以在open时设定。

转载于:https://my.oschina.net/3pgp/blog/294539

相关文章:

  • SpringBoot就是这么简单
  • 风风cms改进
  • 人工智能浪潮已至,李开复指出入局AI的四种方式
  • [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • spring用注解配置,不用XML
  • 在项目中导入import javax.servlet 出错解决办法
  • notepad++中emmet插件的使用
  • python 线程,GIL 和 ctypes
  • 【转】CentOS 7. #215; 系统及内核升级指南
  • DNS
  • 函数指针的用法
  • HW2017笔试编程题
  • Flex定时任务设置组件
  • 关于集合的size的操作
  • 理清文件编码,告别中文乱码
  • [case10]使用RSQL实现端到端的动态查询
  • [译]CSS 居中(Center)方法大合集
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 4个实用的微服务测试策略
  • Flex布局到底解决了什么问题
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • React组件设计模式(一)
  • 记录一下第一次使用npm
  • 前嗅ForeSpider教程:创建模板
  • NLPIR智能语义技术让大数据挖掘更简单
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​插件化DPI在商用WIFI中的价值
  • #DBA杂记1
  • #stm32整理(一)flash读写
  • (4)Elastix图像配准:3D图像
  • (C#)获取字符编码的类
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (办公)springboot配置aop处理请求.
  • (二)WCF的Binding模型
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)关于多人操作数据的处理策略
  • **python多态
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET 8.0 中有哪些新的变化?
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Core中Emit的使用
  • .net 反编译_.net反编译的相关问题
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • @SpringBootApplication 包含的三个注解及其含义
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!