MINA可以由我们添加一个线程池的线程数怎么确定如果没有的话,它会自己产生一个线程池的线程数怎么确定供自己使用mina的效率还是很不错的。我们可以发现setHandler时候只添加一个IoHandler的对象,也就是说整个服务器程序只有一个处理器实例。那么就很容易产生线程安全的问题,因为服务器程序是高并发的一對多的。
原来他们是被用来被其他的外壳来调用这几个实例的方法使用的时候将不同的参数传递给IoHandler等实例的public方法,这样避免为不同的连接new一样的处理器虽然会产生一些问题。可以确定IoSession是多实例的因此我们可以好好利用它的setAttribute方法来保存我们希望下一次还能使用的对象。仔细想想这和Servlet的那中使用多线程(Web容器),单实例(Servlet实例)的模式是多么的相似
以上是我的小小总结,有的同学可能会问:为什么不使用synchronized服务器程序要求的是效率,高并发但是你加一个互斥,这个。。。你懂的