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

怎样提高网站的打开速度网站这么做优化

怎样提高网站的打开速度,网站这么做优化,做外贸有那些网站平台,wordpress 默认文本编辑器select函数&#xff08;Unix系统&#xff09; 一、函数格式二、参数及返回值2.1 struct fd_set 结构体2.1 struct timeval 结构体2.3 函数参数2.4 返回值 三、用法举例3.1 监控终端输入内容 一、函数格式 #include <sys/time.h>#include <sys/types.h>#include <…

select函数(Unix系统)

  • 一、函数格式
  • 二、参数及返回值
    • 2.1 struct fd_set 结构体
    • 2.1 struct timeval 结构体
    • 2.3 函数参数
    • 2.4 返回值
  • 三、用法举例
    • 3.1 监控终端输入内容

一、函数格式

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

二、参数及返回值

2.1 struct fd_set 结构体

struct fd_set 可以理解为一个存放文件句柄的集合(socket句柄也是文件描述符),fd_set集合可通过一些宏人为控制,如:

  • FD_ZERO(fd_set *);清空集合
  • FD_SET(int, fd_set *);将指定文件描述符加入集合
  • FD_CLR(int, fd_set*); 将一个给定的文件描述符从集合中删除
  • FD_ISSET(int ,fd_set* );检查集合中指定的文件描述符是否可以读写

2.1 struct timeval 结构体

比较常用,用来代表时间值,有两个成员,一个是秒数,另一个是微秒

struct timeval {time_t tv_sec; 	// seconds long tv_usec; 	// microseconds 
};

2.3 函数参数

int nfds:该整数值用来指示集合中所有文件描述符的范围,设置为所有文件描述符中的最大值加1。不能设置错喽。
fd_set *readfds:指向fd_set类型结构体的指针,监控这些文件描述符的变化,看是否可以从这些文件中读数据了。(如果有一个文件可读,select就返回一个大于0的值;若没有可读的文件,则根据 time out 参数判断是否超时,若超时返回0;若发生错误,返回负值,可以传入NULL,表示不关心任何文件的读变化。)
fd_set *writefds:指向fd_set类型结构体的指针,监控这些文件描述符的变化,看是否可以从这些文件中写数据了。(如果有一个文件可写,select就返回一个大于0的值;若没有可写的文件,则根据 time out 参数判断是否超时,若超时返回0;若发生错误,返回负值,可以传入NULL,表示不关心任何文件的读变化。)
fd_set *exceptfds:同上,监视文件错误异常。
struct timeval *timeout:超时时间,可以使select处于三种状态:
a、传入NULL,则处于阻塞状态,即select只有当监控到文件读写状态发生变化才返回。
b、若时间设置为0分0秒,则就变成一个纯粹的非阻塞函数,不管文件描述符是否变化,都立刻返回。文件状态无变化返回0,有变化返回一个正值。
c、timeout的值大于零,即在设定的时间内被阻塞。超时后返回。

2.4 返回值

  • 负值:发生错误
  • 正值:某些文件可读或者可写或出错
  • 0:等待超时,没有可读可写或错误的文件

三、用法举例

3.1 监控终端输入内容

#include <sys/time.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <assert.h>
#include <unistd.h>int main ()
{int keyboard;int ret,i;char c;fd_set readfd;struct timeval timeout;keyboard = open("/dev/tty",O_RDONLY | O_NONBLOCK);assert(keyboard>0);while(1) {timeout.tv_sec=1;timeout.tv_usec=0;FD_ZERO(&readfd);FD_SET(keyboard,&readfd);ret=select(keyboard+1,&readfd,NULL,NULL,&timeout);if(FD_ISSET(keyboard,&readfd)) {i=read(keyboard,&c,1);if('\n'==c)continue;if ('q'==c)break;printf("the input is %c \n",c);}}
}
http://www.yayakq.cn/news/240263/

相关文章:

  • 网站建设的结尾学校门户网站流程建设方案
  • 电子商务网站建设与开发icp备案是什么
  • 整站策划营销型网站建设网站优化网站服务器暂时不可用怎么办
  • 企业型网站建设策划外贸网站下载
  • 一个空间放几个网站app下载页面html模板
  • 网站定制报价表网页设计参考图
  • 如何选择百度网站优化公司php是世界上最好的语言
  • 最好的网站代运营公司自己制作网址收款
  • 网站建设的布局下载百度app最新版到桌面
  • 网站用户体验是什么品牌设计案例
  • 访问网站获取qq90设计app
  • wordpress多站点搭建安装网站模版视频教程
  • 推荐专业的网站建设公司优化网络推广外包
  • 网站开发名词解释重庆网站有哪些
  • 在线模版下载网站好用的wordpress博客主题
  • 定制网站制作广州怎么制定网站
  • 程序员做网站赚钱韶关营销型网站建设
  • 中国建设银行网站公告怎么做网站xml地图
  • 金华在线制作网站网站开发工程师前景分析
  • 黔西县住房和城乡建设局网站html代码表示
  • 网站备案号被收回360怎么做网站排名
  • 四川省建设工程质量安全协会网站wordpress设置自动更新
  • 中职课程网站建设与管理怎样注册自己的微信小程序
  • 旅游网站制作视频百度云有什么网站建设类岗位
  • 献县网站建设价格网站后台 竖着 导航菜单
  • 新河seo怎么做整站排名安徽商会网站建设方案
  • 网站建设公司哪个好呀金融网站建设做网站一年赚多少钱
  • 网站渗透入侵全部教程厦门网站做的比较好
  • 正能量网站ip网站编辑
  • 设计图片网站网站备案复查