int select(
int nfds,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds,
struct timeval *timeout);
系統調用,nfds
是最大的文件描述符,我們感興趣的是在該位圖中設置的所有文件描述符中。我認爲這是爲了提高效率,以便實現不必掃描系統中的所有文件描述符。如果是這樣的話,那麼爲什麼這個系統調用不允許我們傳遞一個參數來指定感興趣的最小文件描述符呢?
我不確定,但文件描述符往往是小數字,所以也許只是指定下限通常沒有多大幫助。 – 2012-03-25 23:15:18
這似乎是最簡單的解釋。但可能有更多的技術原因。 – euphoria83 2012-03-25 23:33:06