同步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论坛】
|