select と FD_SET を使用していくつかのソケットで読み取りを待機しているリッスン スレッドがあります。話は。ある時点で、別のソケットをプールに追加し、select を中止して、select の FD_SET 配列を再初期化する必要があります。プールの変更を通知するイベントがあります。しかし、select はどのようにイベントに反応するのでしょうか? この時点でselect()は20秒の待機間隔でtimevalを使用し、時間をより低い値に変更したくありません。タイムアウトでselect()を頻繁に再起動したくない...
選択を中止する方法はありますか? 選択を通知/再起動し、ソケットの新しいリストを強制的に使用するための正しいアプローチは何ですか(少なくとも1つのソケットがプールに追加されます)
もう 1 つの質問 - Msdn は、「select 関数は 1 つまたは複数のソケットの状態を判断し、必要に応じて待機して同期 I/O を実行します」と述べています。select は、非同期操作を使用するようになったソケットで動作するように設計されていないということですか?