1

Apache Mina を使用してソケットサーバーを構築しており、スレッド モデルの構成を理解しようとしています。私は現在読んでいます:

http://mina.apache.org/configuring-thread-model.html

私が理解しているように; 次のように、IOService ごとにマルチスレッドを使用することをお勧めします。

SocketAcceptor acceptor = new SocketAcceptor( 
    Runtime.getRuntime().availableProcessors() + 1, 
    Executors.newCachedThreadPool()
);

また、フィルター チェーンでイベントを処理するには、複数のスレッドを使用するのが最善であることも理解しています。

SocketAcceptor acceptor = ...;
DefaultIoFilterChainBuilder filterChainBuilder = 
    acceptor.getDefaultConfig().getFilterChain();
filterChainBuilder.addLast("threadPool", 
    new ExecutorFilter(Executors.newCachedThreadPool())
);

これは正しいです?

もしそうなら、イベントを処理するための最適なスレッド数の経験則はありますか?

4

1 に答える 1

3

私が思いついた解決策は、マルチスレッド自体を管理する Mina 2.0 を使用することでした。これは完全に機能します。

于 2010-04-08T19:44:41.790 に答える