select是用于監(jiān)視多個(gè)文件描述符狀態(tài)的變化的。即用來(lái)監(jiān)視文件描述符讀/寫/異常狀態(tài)是否就緒。
函數(shù)原型:int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout);
select的幾大缺點(diǎn):
(1)每次調(diào)用select,都需要把fd集合從用戶態(tài)拷貝到內(nèi)核態(tài),這個(gè)開(kāi)銷在fd很多時(shí)會(huì)很大
(2)同時(shí)每次調(diào)用select都需要在內(nèi)核遍歷傳遞進(jìn)來(lái)的所有fd,這個(gè)開(kāi)銷在fd很多時(shí)也很大
(3)select支持的文件描述符數(shù)量太小了
??1?#include<stdio.h> ??2?#include<string.h> ??3?#include<stdlib.h> ??4?#include<unistd.h> ??5?#include<sys> ??6? ??7?int?main() ??8?{ ??9?????int?std_in?=?0; ?10?//??int?std_out?=?1; ?11?????fd_set?reads; ?12?//??fd_set?writes; ?13?????//int?max_nums?=?std_out; ?14?????int?max_nums?=?std_in; ?15?????FD_ZERO(&reads); ?16?//??FD_ZERO(&writes); ?17?????FD_SET(std_in,&reads); ?18?//??FD_SET(std_out,&writes); ?19?????struct?timeval?_timeout?=?{5,0}; ?20?????int?done?=?0; ?21?????while(!done) ?22?????{ ?23?????????_timeout.tv_sec?=?5; ??24?????????_timeout.tv_usec?=?0; ?25?????????//switch(select(max_nums+1,&reads,&writes,NULL,&_timeout)) ?26?????????switch(select(max_nums+1,&reads,NULL,NULL,&_timeout)) ?27?????????{ ?28?????????????case?-1: ?29?????????????????perror("select"); ?30?????????????????break; ?31?????????????case?0: ?32?????????????????printf("timeout...n"); ?33?????????????????break; ?34?????????????default://success ?35?????????????????{ ?36?????????????????????if(FD_ISSET(std_in,&reads)) ?37?????????????????????{//read ?38?????????????????????????char?buf[1024]; ?39?????????????????????????memset(buf,' 精品久久久久久久国产潘金莲| 国产精品久久久久久久午夜片| 久久久久四虎国产精品| 99久久99久久精品免费看蜜桃| 国产呻吟久久久久久久92| 久久午夜综合久久| 国内精品伊人久久久久av一坑| 亚洲国产成人精品女人久久久| 成人国内精品久久久久影院VR| 狠狠色综合网站久久久久久久| 精品久久久无码人妻中文字幕豆芽| 99久久精品费精品国产一区二区| 久久99精品久久久久久野外| 久久久国产精华液| 亚洲国产成人久久综合一区77| 国产成人精品综合久久久久| 久久无码人妻精品一区二区三区 | 亚洲一本综合久久| 久久久久人妻一区精品色| 久久91精品国产91久| 成人免费网站久久久| 亚洲国产欧美国产综合久久| 久久久无码精品亚洲日韩京东传媒 | 国产69精品久久久久99尤物| 久久久无码精品亚洲日韩京东传媒| 国产福利电影一区二区三区久久老子无码午夜伦不 | 色综合久久中文字幕综合网| 久久成人国产精品二三区| 97超级碰碰碰久久久久| 精品人妻伦九区久久AAA片69| 久久久久这里只有精品| 国产欧美久久久精品| 日本欧美久久久久免费播放网| 亚洲国产欧美国产综合久久| 亚洲精品高清一二区久久| 久久久久国产精品麻豆AR影院| 久久亚洲中文字幕精品一区四| 中文字幕一区二区三区久久网站| 国产精品久久99| 久久99国产精品久久99果冻传媒| 国内精品久久人妻互换|