I/O复用简述

来源:互联网 发布:.vip 域名 怎么样 编辑:程序博客网 时间:2024/05/15 22:54

     当应用程序打开文件成功时,内核向应用程序返回一个fd,称之为文件描述符,那么应用程序通过文件描述符通过内核来访问这个文件,对文件进行I/O操作。那么有种场景是一个进程需要同时处理多个文件描述符,每个文件描述符对应一个I/O处理,那么进行需要知道那个I/O是否满足条件,或称之为准备好,例如某个fd已经准备准备好被读,某个fd已经准备好接收写入。没有IO复用之前,进程会堵塞在单个I/O操作上,但是有了I/O复用之后,通过select调用监听多个文件描述符,当前其中一个或多个文件描述符对应的I/O操作准备好了之后,select将解除堵塞,通知进程进行相应的I/O操作,例如读写操作;如果监控的文件描述字没有一个准备好,那么进程继续将堵塞于select调用。