Skip to content
Latchkey

select システムコールとは?

select システムコールは、IO 多重化の古い形式で、プログラムが渡したファイルディスクリプタのうち 1 つ以上が読み取りまたは書き込みの準備完了になるか、タイムアウトが経過するまでブロックします。呼び出しのたびにすべてのディスクリプタを走査するため、そのコストはディスクリプタの数とともに増加します。移植性はありますが、epoll のような新しいインターフェースほどスケーラブルではありません。

なぜ重要か

select は 1 つのスレッドで複数の接続を扱う古典的な方法であり、今なお多くのツールやライブラリで広く使われています。そのスケーリングコストを理解すると、高負荷サーバーが代わりに epoll へ移行した理由がわかります。

関連ガイド