2 Rationale

The select function is useful when a single threaded program needs to perform potentially blocking file I/O operations on many file descriptors (FDs) simultaneously. Although a single threaded model seems out-of-date, it does have its place for efficiency, compatibility and cross platform advantages.