select ()

select()机制中提供一fd_set的数据结构,实际上是一long类型的数组,每一个数组元素都能与一打开的文件句柄(不管是socket句柄,还是其他文件或命名管道或设备句柄)建立联系,建立联系的工作由程序员完成,当调用select()时,由内核根据IO状态修改fd_set的内容,由此来通知执行了select()的进程哪一socket或文件发生了可读或可写事件。

 1 typedef struct
 2 {
 3 /*XPG4.2requiresthismembername.Otherwiseavoidthename
 4 fromtheglobalnamespace.*/
 5 #ifdef__USE_XOPEN
 6 __fd_maskfds_bits[__FD_SETSIZE/__NFDBITS];
 7 #define__FDS_BITS(set)((set)->fds_bits)
 8 #else
 9 __fd_mask__fds_bits[__FD_SETSIZE/__NFDBITS];
10 #define__FDS_BITS(set)((set)->__fds_bits)
11 #endif
12 }fd_set;

常见用法

fd_set set;
FD_ZERO(&set); /*将set清零使集合中不含任何fd*/
FD_SET(fd, &set); /*将fd加入set集合*/
FD_CLR(fd, &set); /*将fd从set集合中清除*/
FD_ISSET(fd, &set); /*在调用select()函数后,用FD_ISSET来检测fd在fdset集合中的状态是否变化返回整型,当检测到fd状态发生变化时返回真,否则,返回假(0)*/

转载于:https://www.cnblogs.com/qianyanglinux/p/4372718.html

王道训练营3月27日相关推荐

  1. 英国JIC院士3.8万英镑招博后-植物代谢物与微生物组-截止6月27日

    博士后招聘(Osbourn实验室) 链接:https://www.jic.ac.uk/vacancies/postdoctoral-researcher-osbourn-lab/ 截止日期:2019年 ...

  2. 英国JIC院士组3.8万英镑招博后-植物代谢物与微生物组-截止6月27日

    文章目录 博士后招聘(Osbourn实验室) 项目研究内容 理想的候选人 附加信息 Anne Osbourn简介 Postdoctoral Researcher (Osbourn Lab) The r ...

  3. 2021年4月27日 华为Cloud AI 通用软件开发实习面试(一面)

    title: 2021年4月27日 华为Cloud AI 通用软件开发实习面试(一面) tags: 面经 2021年4月27日 华为Cloud AI 通用软件开发实习面试(一面) 自我介绍(这个地方由 ...

  4. 线上会议丨中国中文信息学会2020学术年会将于12月27日举行

    会议时间 2020年12月27日 北京 会议官网 http://www.cipsc.org.cn/annual2020 扫码进入会议官网 扫码观看直播 特邀报告 按报告时间排序 专题研讨

  5. 薛老师软考高项学员:2016年4月27日作业

    薛老师软考高项学员:2016年4月27日作业 1.写全文:论信息系统项目的范围管理 2.写架构:论项目的计划与监控:论项目的进度管理. 转载于:https://blog.51cto.com/xueda ...

  6. 御剑情缘服务器维护,御剑情缘7月27日更新维护内容及活动详解介绍

    导 读 御剑情缘7月27日更新维护了什么内容?御剑情缘目前在7月27日为玩家们进行了游戏更新,不少小伙伴们还不清楚有哪些玩法吧!下面是御剑情缘7月27日更新维护内容及活动详解介绍,一起来看下吧! ▲燕 ...

  7. 盘丝洞服务器维护,9月27日“盘丝洞”等服务器停机更新

    作者本篇文章获得: 积分登陆17173通行证投稿才能获得积分! 17173全新作家积分兑换系统上线 点卡周边等你拿 >>>详情点击 尊敬的<西游记>玩家: <西游记 ...

  8. 1载波把32个信道按_「防疫」截至8月27日,单日确诊新增32例,张文宏带来1个坏消息...

    文/嵩姨热点谈 国内疫情每日都处于一个新增的状态,更可怕的是海外的疫情依旧是一个不断爆发蔓延的趋势情况,截至8月27日,海外疫情累计确诊超过2423万例以上,累计死亡82.4万例,单日新增25.8万例 ...

  9. web实践 例会12月27日

    12月27日 项目进度表: 今日工作: 1.      首先是小组开展例会,确定选题和进行基本功能分析. 2.      确定第一阶段的选做内容为安全性分析. 3.      小组分工如下 a)    ...

  10. 计算机二级7月考试,2020年计算机二级MS Office考试每日一练(7月27日)

    [摘要] 小编整理了2020年计算机二级MS Office考试每日一练(7月27日)的相关内容,下面一起来看看2020年计算机二级MS Office考试每日一练(7月27日)的具体内容吧,希望能够帮助 ...

最新文章

  1. CopyFile and Directory By channel
  2. 成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed
  3. Linux常用的基本命令cp、mv、rm、cat、find(三)
  4. 干货 | 126 篇 AI 原创文章精选(ML、DL、资源、教程)
  5. 联想确认再次裁员 称调整主要分布在海外
  6. ML.NET机器学习、API容器化与Azure DevOps实践(三):RESTful API
  7. 看不懂论文代码怎么办_学位论文中的公式排版(制表位+mathtype+域)
  8. JavaEE基础(05):过滤器、监听器、拦截器,应用详解
  9. dbscan聚类算法_一种视频人群流的轨迹聚类方法
  10. maven中net.sf.json报错的解决方法
  11. 利用python编写祝福_手把手|教你用Python换个姿势,送狗年祝福语
  12. 容器和 批量删除 镜像_更高更快更稳,看阿里巴巴如何修炼容器服务「内外功」...
  13. 从Word2Vec到Bert,聊聊词向量的前世今生(一)
  14. atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect
  15. android动画实现单摆效果
  16. Java实现在线视频通话
  17. 18个国外优质图片素材
  18. Java设计模式之观察者模式
  19. 电脑插入耳机检测不到没反应怎么办?
  20. 【Java系列】(四)Java多线程---线程安全

热门文章

  1. GitHub 桌面版 v3.0 新特性「GitHub 热点速览 v.22.18」
  2. 使用python编写聊天小程序
  3. 行业揭秘:A股日内“T+0” 赚钱的方法
  4. 对计算机数字不敏感怎么解决,英语听力对数字不敏感的解决办法
  5. PageRank算法(Dead ends、Spider Traps问题)
  6. php 数组添加键值对,php 给数组增加键值对
  7. Java注解@PostConstruct使用及相关原理分析
  8. svn指定版本代码对比的方法
  9. android 传感器驱动,基于Android的传感器驱动设计与实现
  10. 常用互联网协议之TCP/IP协议