当前位置: 首页 > news >正文

企业网站建设设置那些栏目网站开发 平台建设

企业网站建设设置那些栏目,网站开发 平台建设,做网站的技术员,wordpress 表格主题select: 1.select:当被监听的 fd(文件描述符)就绪后会返回,但是我们无法知道具体是哪些 fd 就绪了,只能遍历所有的 fd。通常来说某一时刻,就绪的 fd 并不会很多,但是使用 select 必须要遍历所有…

select:

1.select:当被监听的 fd(文件描述符)就绪后会返回,但是我们无法知道具体是哪些 fd 就绪了,只能遍历所有的 fd。通常来说某一时刻,就绪的 fd 并不会很多,但是使用 select 必须要遍历所有的 fd,这就造成了一定程度上的性能损失。select 最多可监听的 fd 是有限制的,32位操作系统默认1024个,64位默认2048

select函数的API:

select函数的API
#include <sys/select.h>
 /* According to earlier standards */
       #include <sys/time.h>
       #include <sys/types.h>
       #include <unistd.h>

       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);

参数:
    nfds  : 最大文件描述符+1
    readfds : 需要监听的读的文件描述符存放集合
    writefds :需要监听的写的文件描述符存放集合   NULL
    exceptfds : 需要监听的异常的文件描述符存放集合  NULL
    timeout: 多长时间监听一次   固定的时间,限时等待   NULL 永久监听
    struct timeval {
               long    tv_sec;         /* seconds */ 秒
               long    tv_usec;        /* microseconds */微妙
           };

  返回值: 返回的是变化的文件描述符的个数



注意: 变化的文件描述符会存在监听的集合中,未变化的文件描述符会从集合中删除

select实现原理:

应用层中父进程通过内核的selsect监听文件描述符缓冲区的变化,内核就会返回给父进程

以fd_set为例,每次都要从用户态拷贝至内核态,同时还要在内核态进行循环遍历,然后把有事件的响应的文件描述符fd_set返回,又要从内核态拷贝至用户态。用户态拿到这个有事件的文件描述符返回,还要针对返回的描述符进行遍历,才能知道哪个文件描述符对应的Socket可写可读,总共经历了两次遍历,两次拷贝,所以说为什么Select在文件描述符比较多的情况,效率为什么是低下的原因。

select 的优缺点:

优点: 跨平台

缺点:

文件描述符1024的限制 由于 FD_SETSIZE的限制

只是返回变化的文件描述符的个数,具体哪个那个变化需要遍历

每次都需要将需要监听的文件描述集合由应用层符拷贝到内核

大量并发,少了活跃,select效率低

 

http://www.yayakq.cn/news/897921/

相关文章:

  • 南美洲网站后缀微信学校网站模板
  • 怀柔手机网站建设德国网站的后缀名
  • 网站建设课设总结在线做免费网站有哪些
  • 营销型网站方案ppt如何对网站ftp进行上传
  • 网站建设案例 优帮云网页布局设计类型
  • 广州网站建设支付做移动网站优化优
  • 临沂在线做网站php网站识别手机
  • 南昌网站优化公司学做网站需要多少钱
  • 超值的郑州网站建设互联网推广是做什么的
  • 织梦cms网站网站建设教程这篇苏州久远网络
  • 十大网站建设服务商店标logo设计
  • 新农村建设网站wordpress百度xml地图
  • 响应式网站的几种尺寸网站推荐货源
  • 阿里网站年费怎么做分录网页开发步骤
  • 品牌网站设计制作哪家好网络公司 网站源码
  • 网站建设手机经典传奇网页游戏
  • 用vs做购物网站下载厦门人才网建筑设计招聘
  • 网站报价驻马店网站建设价格
  • 一起做网商网站怎么样哈尔滨网站建设策划方案
  • 网站cmd做路由分析电子商务排名
  • 有没有代做模型的网站wordpress设置瀑布流
  • 做网站的公司主要工作央视网新闻
  • 广州市城乡建设部网站首页济南教育平台网站建设
  • 网站开发面板骏域网站建设专家东莞
  • 有没有教做熟食的网站垡头做网站的公司
  • 哪个网站看电影做便宜php网站开发实施方案
  • 建设部网站拆除资质迪奥官网网站做的好吗
  • 网站网页怎么设计长安英文网站建设
  • 厦门房地产网站建设网站链接数怎么做
  • 成品网站源码多少钱如何推广游戏