私は単純なネットワーククライアント/サーバーを開発しています。クライアントはサーバーへの接続を維持し、入ってくる情報に基づいてワーカースレッドを開始するMainConnectionクラスを持っています。ワーカースレッドがメイン接続を介してサーバーへの進捗状況をフィードバックするようにします。データを送信するためにMainConnectionにpublic static synchronizedメソッドを持たなければならないのか、Socketを含むスレッドにSessionオブジェクトを渡してデータを送信するための同期メソッドを渡すべきかどうかはわかりません。Java並行性、親スレッドのアクセスソケット
1
A
答えて
2
どのデザインを選択するかは関係ありません。それはあなた次第です。気にする必要があるのは、2つのスレッドが同じストリームに同時に書き込むのを避けることです。したがって、いくつかのスレッドで同期化され使用される独自のレイヤーを作成できます。あるいは、同期出力ストリームを作成してすべてのスレッドに渡すこともできます。これはおそらく最善のアプローチです:この場合、各スレッドはストリームにstuffを書き込むことを知っています。ストリームが同期されていることを知っている唯一のレイヤーは、それを作成するファクトリです。
関連する問題
- 1. Java並行性、親スレッドのフラグセット
- 2. 並行プログラミングJavaスレッド
- 3. Javaスレッド/並行性/デルタ - 1つのエラーでオフ
- 4. Spockでのスレッドの並行性のテスト
- 5. Rubyの並行性:ノンブロッキングI/Oとスレッド
- 6. 親ウィンドウとスレッドの親和性
- 7. UWP並行スレッド
- 8. 並行性と並行性の低下
- 9. Javaでの並列スレッド
- 10. Javaの並行性:奇妙な出力
- 11. Javaの並行性 - メソッド上だけ?
- 12. OpenHFT AffinityLockとのWindows Javaスレッドの親和性
- 13. Javaの並列性
- 14. Java並列計算/スレッド
- 15. Java Swing並行性表示JTextArea
- 16. Linuxの並行性:クリティカルゾーンの2つのスレッドの代替アクセス
- 17. 並行スレッドの制限
- 18. 親子コンテキストの混乱と並行性の問題
- 19. jQuery - 並行性?
- 20. HashTable並行性
- 21. WCF並行性?
- 22. Javaスレッドの可視性
- 23. スレッドなしで並行性を表現する方法
- 24. DocumentDBの並行性
- 25. Elmの並行性
- 26. シェルスクリプトファイルウォッチャーの並行性
- 27. Javaの並列ストリーム近いスレッド
- 28. Java - リクエスト時に並行スレッドをシャットダウンする
- 29. Java並行セーフティワーカープールキュー
- 30. Javaの並行性:Webサービスへのスレッドセーフの作成