select模型实现分析

本文详细分析了select模型的实现,从文件描述符数组的分配到位图法的运用,解释了如何监控文件描述符的可读、可写和异常事件。关键点包括fd_set结构体的理解,通过位操作来标记文件描述符的状态,并通过select函数进行阻塞等待。在事件发生后,select会返回并更新文件描述符的状态。
摘要由CSDN通过智能技术生成

今天和小伙伴一起看select源码,感觉收获还是挺大的,网上这方面的资料还是挺少的,很少有分析select的具体实现是怎样实现的,所以,我把它整理一下,希望可以帮到想看看select具体是怎样实现的小伙伴,ok,不说废话了.

函数原型: int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval * timeout);  
void FD_CLR(int fd,fd_set *set);  
int FD_ISSET(int fd,fd_set *set);
void FD_SET(int fd,fd_set *set);
void FD_ZERO(fd_set *set);  

这些函数的具体是干什么的我就不一一介绍了,对这些函数的介绍网上的资料挺多的,不了解的可以先了解一下.
首先看几个下面要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值