1
簡単な質問です。私は複数のワーカースレッド(Pthreads)を持つネットワークCアプリケーション(TCPサーバー)を持っています。各ワーカースレッドはselect
システムコールを使用し、各スレッドは選択セットにリスニングsocket descriptor
を追加しています。そのため、各ワーカースレッドは着信接続をリッスンし、一度に1つのスレッドのみが特定の接続の受け入れに成功し、その接続のsocket descriptor
がそれぞれのスレッドのselect
セットに追加されます。複数のスレッド間でソケット記述子を共有する
私の質問は、各スレッドには独自のselect
が設定されていることです。ソケットディスクリプタが別のワーカースレッドセレクトセットにあるクライアントにデータを送信または受信することは可能でしょうか?言い換えれば、任意のワーカースレッドの選択セットのソケット記述子を使用して、必要なスレッドからI/Oを実行できますか? ありがとう
二重チェックのため申し訳ありません:/スレッドが接続を受け付け、返されたファイル記述子が他のスレッド選択セットに追加された場合、それらはすべてその記述子からの書き込み/読み取りが可能になります。 – Abdullah
AFAIK、はい、どのスレッドでFDが作成/受け入れられたかに違いはありません。 – MByD
ありがとう。大変感謝しています:) – Abdullah