当前位置--> 首 页 --> 文 章 -->Linux Develop

※阅读文章※

Linux程式设计-15.同步I/O多重处理


作者:不祥 [文章出自: www.fanqiang.com]

同步I/O多重处理(Synchronous I/O Multiplexing)

--------------------------------------------------------------------------------

当我们在同时间需要处理许多I/O时,例如网路伺服器socket,有时候一个一个处理,程式非常难写,这时候可以利用select来达成。 

--------------------------------------------------------------------------------

#include  
#include  
#include  
int  select(int  n,  fd_set  *readfds,  fd_set  *writefds,fd_set *exceptfds, struct timeval *timeout); 

FD_CLR(int fd, fd_set *set); 
FD_ISSET(int fd, fd_set *set); 
FD_SET(int fd, fd_set *set); 
FD_ZERO(fd_set *set); 

FD_ZERO清除所有fd_set。 
FD_SET将fd加入fd_set中。 
FD_CLR将fd从fd_set中移除。 
FD_ISSET检查fd是否属於该fd_set。 

struct timeval { 
  int tv_sec; 
  int tv_usec; 
}; 

文章加入时间: 2004-11-17 14:56:34 责任编辑: w9   (2660 人次查阅)
 
Copyright © 1998-2004 中国PHP联盟 All rights reserved.