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 回答