[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 编程技术 > 其它 > 正文
Linux程式设计-15.同步I/O多重处理
http://www.openchess.org/noitatsko/programming/ (2001-05-26 13:04:00)
同步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; 
}; 
(http://www.fanqiang.com)
    进入【UNIX论坛

相关文章
Linux程式设计-31.工作群资讯管理(grp) (2001-05-27 22:08:00)
Linux程式设计-30.使用者资讯管理(pwd) (2001-05-27 21:04:00)
Linux程式设计-29.时间处理 (2001-05-27 20:10:01)
Linux程式设计-28.GNU Make (2001-05-27 19:00:00)
Linux程式设计-27.GNU Debugger (2001-05-27 18:08:01)
Linux程式设计-26.PIPE (2001-05-27 17:04:00)
Linux程式设计-25.Message Queues (2001-05-27 16:10:00)
Linux程式设计-24.Semaphores (2001-05-27 15:00:00)
Linux程式设计-23.共享记忆体(Shared Memory) (2001-05-27 14:08:00)
Linux程式设计-20.getopt (2001-05-27 13:04:00)

===更多相关===
 

★  樊强制作 欢迎分享  ★