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())
);
これは正しいです?
もしそうなら、イベントを処理するための最適なスレッド数の経験則はありますか?