синхронное мультиплексирование ввода / вывода (synchronous I/O multiplexing)
Примечание (Note)
Generally speaking, all operating systems that support sockets
also support select
(). select
() can be used to solve many
problems in a portable and efficient way that naive programmers
try to solve in a more complicated manner using threads, forking,
IPCs, signals, memory sharing, and so on.
The poll(2) system call has the same functionality as select
(),
and is somewhat more efficient when monitoring sparse file
descriptor sets. It is nowadays widely available, but
historically was less portable than select
().
The Linux-specific epoll(7) API provides an interface that is
more efficient than select(2) and poll(2) when monitoring large
numbers of file descriptors.