2

次のコード セグメントをコーディングするとします。

class SimpleHandler extends SimpleChannelUpstreamHandler {
    ...
    public static void main( String[] args ) throws Exception {
    ServerBootstrap b = new ServerBootstrap( 
        new NioServerSocketChannelFactory( 
            Executors.newCachedThreadPool(), 
            Executors.newCachedThreadPool(), 
            10 ));
    b.setPipelineFactory( new ChannelPipelineFactory() {
        public ChannelPipeline getPipeline() throws Exception {
            return Channels.pipeline( new SimpleHandler() );
        }
    });
    b.bind( new InetSocketAddress( p ));
}

また、次のシナリオを想定しています。

  • チャネル C1 には入力があります
  • netty はスレッド T1 をチャネル C1 に割り当てます
  • スレッド T1 がチャネル C1 からすべての入力を読み取った後、まだ入力を処理している間に、さらに入力がチャネル C1 に到着します。

私の質問は次のとおりです。netty はチャネル C1 に新しいスレッドを割り当てますか (スレッド プールに空きスレッドがあると仮定します)?

前もって感謝します

4

1 に答える 1

0

スレッド/セレクターがチャネルに割り当てられると、そのチャネルはその存続期間中ずっと同じものを使用します。そのため、常に同じサービスが提供されます。

于 2012-12-14T08:04:30.553 に答える