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

35、重叠 I/O 和扩展 I/O 详解

重叠 I/O 和扩展 I/O 详解

在进行 I/O 操作时,性能和可扩展性往往是主要目标。虽然内存映射 I/O 在处理文件时非常有效,但从内存映射 I/O 错误中恢复并非易事。接下来我们详细探讨重叠 I/O 以及与之相关的内容。

重叠 I/O 概述

异步 I/O(无论是重叠还是扩展)的首要要求是设置文件或其他句柄的重叠属性。可以通过在创建文件、命名管道或其他句柄的调用中指定相应标志来完成。对于套接字,无论通过何种方式创建,默认都设置了该属性,并且在所有 Windows 版本中,重叠套接字都可以异步使用。

重叠结构此前仅用于某些操作或作为其他操作的替代,但对于重叠 I/O 而言,它们是必不可少的。这些结构是四个可能会在操作完成时阻塞的 I/O 函数的可选参数。需要注意的是,当在特定调用中指定相关标志时,管道或文件只能以重叠模式使用,并且重叠 I/O 不适用于匿名管道。

重叠 I/O 的影响

重叠 I/O 是异步的,启动重叠 I/O 操作会带来以下几个结果:
1.I/O 操作不阻塞:系统调用相关函数时会立即返回。
2.返回值不一定表示失败:由于 I/O 操作很可能尚未完成,所以返回值可能不代表失败。在正常情况下,表示无错误,Windows 会提供不同的机制来指示状态。
3.传输字节数可能无效:如果传输未完成,返回的传输字节数没有实际意义,Windows 需提供其他方式获取该信息。
4.文件指针无意义:程序可在单个重叠文件句柄上进行多次读

http://www.jsqmd.com/news/121077/

相关文章:

  • Excalidraw绘图支持嵌入实时数据卡片,动态刷新
  • Excalidraw支持导出为Visio兼容格式,迁移无障碍
  • Excalidraw键盘快捷键大全:高手都在用的操作技巧
  • 36、异步输入/输出与完成端口技术解析
  • Excalidraw本地化部署成本 vs. 云服务性价比分析
  • Excalidraw如何应对极端网络延迟?乐观更新策略
  • 用自然语言生成界面草图?Excalidraw AI功能实测
  • 27、高级线程同步技术详解
  • Excalidraw性能优化建议:大文件加载不卡顿秘诀
  • Excalidraw如何实现像素级精准对齐?网格系统详解
  • AI赋能Excalidraw:自然语言秒变流程图的技术实现
  • Excalidraw能否用于电影分镜脚本绘制?正在探索
  • 【stm32】cmake脚本(一)
  • Excalidraw实战:绘制边缘计算节点部署拓扑图
  • Excalidraw新增团队成员角色权限矩阵表
  • Excalidraw能否用于航天器轨道模拟图?精度待验证
  • 28、高级线程同步技术深度解析
  • Excalidraw如何防范CSRF攻击?Token机制全面覆盖
  • Excalidraw手绘白板+AI绘图:技术团队协作新范式
  • Excalidraw镜像提供健康检查接口,便于运维监控
  • 1、Windows XP 使用指南:基础与进阶操作全解析
  • 29、多线程同步与进程间通信技术解析
  • 2、Windows XP 日常操作与应用指南
  • 为什么越来越多开发者选择Excalidraw做系统设计?
  • 30、进程间通信:命名管道与邮件槽的深入解析
  • 3、Windows XP 文件浏览与管理全攻略
  • Excalidraw支持导出为JSON结构数据,便于程序解析
  • 31、Windows进程间通信与网络编程:管道、邮件槽和套接字的应用
  • Excalidraw新增最近使用模板列表,访问更便捷
  • 4、Windows系统文件与网络操作全指南