私のアプリケーションには、recv() と send() に使用する Unix TCP ソケットが 1 つしかありません。ソケットはノンブロッキングです。これを考えると、send()/recv() の前に select() を実行する利点はありますか?
基礎となる TCP パイプが I/O の準備ができていない場合、send()/recv() は EWOULDBLOCK または EAGAIN ですぐに戻る必要があります。では、select() を実行する意味は何ですか? この場合、追加のシステムコールのオーバーヘッドが発生するだけのようです。何か不足していますか?
編集:言及するのを忘れました:アプリケーションはシングルスレッドです。