select与poll函数介绍
2024-10-18 18:23:03
select与poll函数介绍
在所有依从POSIX的平台上,select函数使我们可以执行I/O多路转接。传向select的参数告诉内核:
1)我们所关心的描述符
2)对于每个描述符我们所关心的状态(是否读一个给定的描述符?是否想写一个给定的描述符?是否关心一个描述符的异常状态?)
3)愿意等待多长时间(可以永远等待,也可以等待一个固定量时间,或完全不等待)
从select返回时,内核告诉我们:
1)已准备好的描述符的数量
2)对于读、写或异常这三个状态中的每一个,哪些描述符已准备好
使用这些返回信息,就可以调用相应的I/O函数(一般是read或write),并且确知该函数不会阻塞。
函数原型:
#include <sys/select.h> int select(int maxfdp1, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, struct timeval *restrict tvptr);
返回值:准备就绪的描述符数,若超时则返回0,若出错则返回-1
最新文章
- xml序列化方式
- arcgis android 图上记录gps轨迹
- pictures of you
- Linq to sql-存储过程
- JdbcTemplate与事务
- web网页的表单排版利器--960css
- win7 64位。未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
- Python笔记:使用pywin32处理excel文件
- yoeman构建Asp.net core项目并且实现分层
- r语言之散点图绘制及参数
- 使用SQL Server视图的优缺点
- prestashop 基本设置
- JavaScript 面向对象(一)
- svn命令行便捷代码
- SNS团队Beta阶段第三次站立会议(2017.05.24)
- 老司机带你玩转web service
- 常用vi命令
- Ansible基础认识及安装使用详解(week5_day1_part1)--技术流ken
- STM32 F103 F407 F429 F767对比图
- Linux期末复习题