これが私のシナリオです:
- 1 つのアプリケーションで複数のソケット
- これらのソケットの任意の数で送受信したい
スレッドの問題と奇妙な例外を回避するためにこれまでに見つけた唯一の解決策は次のとおりです。
- 各ソケットには独自のスレッドがあります
- 各ソケットには、送信するメッセージがあるかどうかを常にチェックする独自の同時キューがあります。
- スレッドに関係なく、特定のソケットから送信するには、メッセージを正しいソケット同時キューに追加するだけです
ただし、この取得にはかなりのコストがかかります。私は一般的にスレッドの大ファンではなく、もっと良い方法があると感じています。私はポーラーについて考えています - ソケットごとに新しいスレッドを作成する必要なく、複数のソケットから受け取ることができます (私の知る限り)。これが正しい場合、保留中のメッセージを送信する方法はありませんか?
それ以外の場合、複数のスレッドが私の唯一のオプションですか? ありがとう