Unix的5种I/O模型
1、阻塞I/O
2、非阻塞I/O
3、I/O复用(select、poll、linux 2.6种改进的epoll)
4、信号驱动IO(SIGIO)
5、异步I/O(POSIX的aio_系列函数)
同步I/O和异步IO
POSIX把这两个术语定义如下:
同步I/O操作导致请求进程阻塞,直至操作完成
异步I/O操作不导致请求阻塞。
根据上述定义,前四种I/O模型都是同步I/O,第5种才是异步I/O。
select不允许多于一个的线程在同一个描述符集上等待。这使得反应式模型不适用于高性能应用,因为它没有有效地利用硬件的并行性。
异步I/O通常能够提高更好的性能,windows的iocp通过内核线程调度,也能提供很好的并发性能,但不是真正的异步。
Java nio和多路复用
java 1.4 nio提供的select,这是一种多路复用I/O(multiplexed non-blocking I/O)模型,底层是使用select或者poll。I/O复用就是,阻塞在select或者poll系统调用的某一个之上,而不是阻塞在真正的I/O系 统调用之上。JDK 5.0 update 9和JDK 6.0在linux下支持使用epoll,可以提高并发idle connection的性能(http://blogs.sun.com/alanb/entry/epoll)。
以前看到有人猜测Windows下nio使用了IOCP,那应该是错的,毕竟IOCP不是多路复用I/O模型。从JavaOne 2006的幻灯片来看,aio才会使用IOCP来实现的。
分享到:
相关推荐
1) 掌握Winsock I/O模型工作原理; 2) 熟悉I/O模型中使用的Winsock接口函数; 3) 掌握使用I/O模型进行网络程序设计的编程步骤; 实验要求: 在上述I/O模型中自选一个I/O模型,构建一个TCP服务器,该服务器能: 能显示...
Windows Socket五种I/O模型——代码全攻略 Windows Socket五种I/O模型——代码全攻略 Windows Socket五种I/O模型——代码全攻略 Windows Socket五种I/O模型——代码全攻略
select I/O模型 客户端 winsock编程模型,i/o异步入门模型!
完成端口I/O模型编程完成端口I/O模型编程完成端口I/O模型编程完成端口I/O模型编程
应用Intel VT for Directed I/O技术实现高性能虚拟I/O模型,张鑫,吕明,本文基于XEN开源虚拟机,在当前世界流行的虚拟I/O模型基础上,引入了Intel VT-d技术,基于它实现了一种高性能虚拟I/O模型,并对其实现��
套接字I/O模型中的select模型,欢迎大家和我讨论socket编程中的问题。 QQ:1499770571 E-mail:zeliangzhang@sina.com
异步socket使用的示例代码,包括选择、异步选择、事件选择、重叠IO、完成端口。代码里包括客户端和服务端的代码,是学习socket的非常好的教材。
利用Visual C++ 6.0实现的一套Winsock I/O模型,包括了所有的Winsock I/O模型:Select模型、AsyncSelect(异步选择模型)、EventSelect(事件选择模型)、Overlapped(重叠模型)、CompletionRoutine(完成例程)、...
主要介绍了详解socket阻塞与非阻塞,同步与异步、I/O模型,socket网络编程中的同步,异步,阻塞式,非阻塞式,有何联系与区别,本文将详细讲诉。
源码及实验报告 采用select模型设计一个支持UDP和TCP的多协议回射服务器。
介绍当前Windows支持的各种Socket I/O模型 select WSAAsyncSelect WSAEventSelect Overlapped I/O(重叠IO模型),IOCP模型,有代码详细分析过程
包括Windows网络编程套接字I/O模型中的select模型,WSAEventSelect模型,重叠模型,完成端口模型完整代码。因为Windows 网络编程这本书上提供的代码并不完全正确,所以花了3天,写了几个例子。其中也包括了一些C++编程的...
采用C++语言编写,在VS2010下开发,可以直接运行,代码中有相关的注释。
windows下7种winsocket的I/O编程模型的源代码,均为可直接运行代码,有详细注释。 每一种I/O模型的详细编程步骤可以参考配套文章:http://blog.csdn.net/u011787119/article/details/46848391
windows下六种socket I/O模型示例,例子很详细地描绘出各种模式的用法,适合windows下网络编程的人
掌握 Winsock I/O 模型工作原理;熟悉 I/O 模型中使用的 Winsock 接口函数;掌握使用 I/O 模型进行网络程序设计的编程步骤。
Winodws Socket I/O模型 电子书及附套代码,能对你对windows下Socket模型有一个整体的了解.accept,select,事件,I/O,完成端口等
WSAASYNCSELECT模型-概述,Winsock I/O模型基础,这是套接字编程的必须学习的知识哦
select选择模型 windows套接字I/O模型 网络程序设计 运行此程序 还有个客户端程序(上传的TCP里面有)
5种套接字I/O模型