Overlap IO与IOCP对比
来源:互联网 发布:java 发邮件带附件 编辑:程序博客网 时间:2024/05/19 13:25
有关Overlap与IOCP的区别一直搞的不是很清楚。最近仔细分别用两种方式写了一次代码,总算搞清楚了。其实归结到就一句。IO完成后的回调处理是否支持多线程处理。
区别很简单。在进行WSARecv,WSARecvFrom,WSASend,WSASendTo函数调用之后,如果使用Overlap IO,则需要使用WaitForMultiEvents把所有的Overlap的Event数组作为参数进行等待判定处理。这里就使得WaitForMultiEvents不能在多个线程上对同一个Event队列进行同时处理。限制了其对于多线程的处理。如果要使用多线程机制,则需要Event进行负载均衡分配。而如果使用IOCP, GetQueuedCompletionStatus之需要一个IOCP对象作为参数。每次返回一个对象进行处理。则支持同时在多个线程上进行同时操作。
所以在多线程并行处理上,IOCP对于Overlap进行了扩展。overlap实现了io操作的非阻塞模式,而IOCP实现了io操作的返回的并行处理。
区别很简单。在进行WSARecv,WSARecvFrom,WSASend,WSASendTo函数调用之后,如果使用Overlap IO,则需要使用WaitForMultiEvents把所有的Overlap的Event数组作为参数进行等待判定处理。这里就使得WaitForMultiEvents不能在多个线程上对同一个Event队列进行同时处理。限制了其对于多线程的处理。如果要使用多线程机制,则需要Event进行负载均衡分配。而如果使用IOCP, GetQueuedCompletionStatus之需要一个IOCP对象作为参数。每次返回一个对象进行处理。则支持同时在多个线程上进行同时操作。
所以在多线程并行处理上,IOCP对于Overlap进行了扩展。overlap实现了io操作的非阻塞模式,而IOCP实现了io操作的返回的并行处理。
- Overlap IO与IOCP对比
- 模型设计与实践---(六)重叠IO,事件通知(Overlap Event)
- java 的nio与io对比
- BufferedInputStream与FileInputStream的IO效率对比
- 格式化io与非格式化io得对比理解
- Socket IO模型之IOCP
- IOCP编程之重叠IO
- IOCP编程之重叠IO
- 完成IO使用总结IOCP
- 完成IO使用总结IOCP
- IOCP编程之重叠IO
- IOCP编程之重叠IO
- iocp与epoll异同
- IOCP与线程
- IOCP 浅析与实例
- IOCP 浅析与实例
- IOCP 与EPOLL
- IOCP与SO_KEEPALIVE
- 精读OSAL --中断方式串行通信(_hal_uart_isr.c)
- iOS开发那些事-如何编译iOS程序
- 远程服务器登录以及使用scp、sftp传输文件
- 计算机视觉相关的部分测试数据集和源码站点
- 什么是Linux内核模块
- Overlap IO与IOCP对比
- <<一分钟经理人>> 读后笔记
- 关于YII中的时间插件不能修改年份的解决方法
- Wince summary
- Nunit 2.6 无法调试.Net Framework 4.0
- Cortex-A8 处理器特性
- Linux 上安装ACE
- 关于51单片机存储空间的说明---它是如何存储程序和数据的呢?
- 介绍SSH2框架