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

37、Windows 异步 I/O、完成端口与对象安全

Windows 异步 I/O、完成端口与对象安全

1. 异步 I/O 方法概述

Windows 提供了三种执行异步 I/O 的方法,下面为你详细介绍:
| 方法 | 特点 |
| — | — |
| 线程 | 最通用且简单的技术。每个线程负责一个或多个顺序的、阻塞的 I/O 操作序列,且每个线程应有自己的文件或管道句柄。 |
| 重叠 I/O | 允许单个线程对单个文件句柄执行异步操作,但每个操作必须有一个事件句柄,而不是线程和文件句柄对。需要专门等待每个 I/O 操作完成,然后执行任何所需的清理或排序操作。 |
| 扩展 I/O | 自动调用完成代码,不需要额外的事件。 |

重叠 I/O 的一个不可或缺的优势是能够创建 I/O 完成端口,这一点在后续会有程序示例说明。单个服务器线程可以为多个客户端服务,这在有数千个客户端的情况下非常重要,因为内存可能不足以支持同等数量的服务器线程。

2. 使用 I/O 完成端口的服务器示例

2.1 服务器设计

示例中的服务器(Program 14 - 4)对之前的程序进行了修改,以使用 I/O 完成端口。该服务器创建了一个小的服务器线程池和一个较大的重叠管道句柄池,并为每个句柄设置了完成键。重叠句柄被添加到完成端口,并发出相应调用。服务器线程等待与客户端连接和读取操作相关的完成事件。

2.2 客户端管道状态

每个客户端管道会经历一系列状态,这些状态存储在每个管道的特定结构中,具体如下:
1.连接状态:管道与服务器线程建立连接。
2.

http://www.rkmt.cn/news/133165.html

相关文章:

  • 38、Windows 对象安全:UNIX 风格权限及相关操作详解
  • Excalidraw支持全局缩放,宏观微观自由切换
  • 39、深入探索Windows对象安全与代码可移植性
  • C++string: SBO 和 引用记数的写时拷贝
  • Excalidraw支持RTL语言布局,拓展中东市场
  • Excalidraw实战:绘制电商平台订单状态机图
  • Excalidraw镜像具备灾备恢复能力,业务连续性保障
  • Excalidraw镜像支持一键扩容,应对流量高峰
  • Excalidraw镜像提供用量统计报表,便于成本控制
  • Excalidraw绘图模板商城上线,优质内容付费获取
  • GitHub 上星星数量前 10 的 AI CRM 开源项目
  • Excalidraw在医疗信息系统设计中的应用前景
  • Excalidraw被写入多所高校计算机课程实验指导书
  • 36、PowerShell编程:循环、.NET框架交互及脚本编写全解析
  • Excalidraw如何优化移动端触控体验?最新更新说明
  • Excalidraw如何实现跨域资源共享?CORS配置指南
  • 38、PowerShell 相关知识全解析
  • 并不是某个具体特性,而是一种工程态度:
  • 33、补丁管理全攻略
  • 37、保障网络安全:全面策略与实施指南
  • 39、分支机构与小企业服务器安全指南
  • 39、PowerShell 与图形用户界面及 COM 对象操作
  • 40、小型企业服务器安全与部署策略
  • 40、使用 COM 自动化 Windows 及相关应用
  • Excalidraw新增评论功能,协作反馈更高效
  • Excalidraw绘图撤销层级达100步,编辑更安心
  • 【Ellisys】【使用技巧】【一】
  • 基于Java+SpringBoot+SSM电脑商城系统(源码+LW+调试文档+讲解等)/电脑商城平台/电脑购物系统/计算机商城系统/在线电脑商城/电脑销售系统/电脑商城软件
  • Excalidraw如何帮助销售团队讲解解决方案架构?
  • 78、计算机硬件、性能与网络问题排查及搭建指南