日期:2014-05-20  浏览次数:20930 次

对于ExecutorService来说,是否一个程序里应该只有一个?
我现在用Netty+spring+Mybatis写一个长连接应用,内部有多个地方需要用到多线程,有点类似生产者消费者模式,,只是启动线程的时机不一致,那么ExecutorService是不是应该建好以后搞成一个全局变量(类静态变量),需要的时候调出来提交任务?因为我看到的ExecutorService的范例都是在main函数下建立的,而我的程序分几层,有的需要在service层下提交任务?我想知道对于一个程序来说,线程池能有几个吗?还是说ExecutorService可以几个一起工作彼此不互相干扰?
------解决方案--------------------
ExecutorService 是一个线程池,线程池是有大小的。如果不是很复杂的业务,一般一个线程池就足够了,合理安排线程池的大小就ok
------解决方案--------------------

楼主见过用多个数据库连接池的吗?
这东西一般情况下,一个足够了!
------解决方案--------------------
任何东西都和需求有关
线程池有几个应该看你具体要达到的目的来看
一般来说,如果有一套相同逻辑的多个任务的情况下,应用一个线程池是个好选择
如果项目中有多套不同的这种任务,那每套任务应该一个线程池不是很正常的吗