3

簡単な質問です。複数のワーカー スレッド (Pthreads) を持つネットワーク C アプリケーション (TCP サーバー) があります。各ワーカー スレッドはselectシステム コールを使用し、各スレッドにはリッスンsocket descriptorが選択セットに追加されます。したがって、事実上、各ワーカー スレッドは着信接続をリッスンし、一度に 1 つのスレッドだけが特定の接続の受け入れに成功し、その接続socket descriptorがそれぞれのスレッドのselectセットに追加されます。

私の質問は、各スレッドに独自のselectセットがあるということです。ソケット記述子が別のワーカー スレッドの選択セットにあるクライアントにデータを送受信することは可能ですか? つまり、任意のワーカー スレッドの選択セットのソケット記述子を使用して、任意のスレッドから I/O を実行できますか? ありがとう

4

1 に答える 1

4

異なるスレッド間でソケットとファイル記述子を共有できます。これは、ほとんどのサーバーが行うことです。

于 2012-04-22T20:32:44.560 に答える