当前位置:嗨网首页>书籍在线阅读

05-IO多路复用

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

63.2 I/O多路复用

I/O 多路复用允许我们同时检查多个文件描述符,看其中任意一个是否可执行 I/O 操作。我们可以采用两个功能几乎相同的系统调用来执行 I/O 多路复用操作。第一个是select(),它首次出现在BSD系统的套接字API中。在这两个系统调用中,历史上select()的应用更广泛。另一个系统调用是poll(),它出现在System V中。select()和poll()现在都是SUSv3中规定的标准接口。

我们可以在普通文件、终端、伪终端、管道、FIFO、套接字以及一些其他类型的字符型设备上使用select()和poll()来检查文件描述符。这两个系统调用都允许进程要么一直等待文件描述符成为就绪态,要么在调用中指定一个超时时间。