0

作業中のWebSocketアプリケーションがあります。Nettyハンドラーのコードは次のとおりです。

その中で、WebSocketは長時間実行されているスレッドに接続し、スレッドを収集してメッセージを返します。

私の質問は同期に関するものです。そのため、Nettyアプリがスレッドに新しいctxを追加するときは、ロックを使用してリストの追加/削除/反復を同期します。このロックを回避する方法は他にないと思います。

だから私の質問は、スレッドへのこの種の同期を処理するためのより良い方法はありますか?

また、このロックを行うことには、パフォーマンス上の大きな欠点がありますか?それはどのような問題を引き起こす可能性がありますか?

4

1 に答える 1

1

使用したいのは、グループチャネル用のDefaultChannelGroup [1]であり、それらすべてに書き込みます。それについてのもう一つのクールなことは、チャンネルが閉じると自動的に削除されることです。

[1] http://netty.io/4.0/api/io/netty/channel/group/DefaultChannelGroup.html

于 2013-03-26T05:32:24.110 に答える