对于ExecutorService来说,是否一个程序里应该只有一个?

abcbuzhiming 2014-03-27 08:40:09
我现在用Netty+spring+Mybatis写一个长连接应用,内部有多个地方需要用到多线程,有点类似生产者消费者模式,,只是启动线程的时机不一致,那么ExecutorService是不是应该建好以后搞成一个全局变量(类静态变量),需要的时候调出来提交任务?因为我看到的ExecutorService的范例都是在main函数下建立的,而我的程序分几层,有的需要在service层下提交任务?我想知道对于一个程序来说,线程池能有几个吗?还是说ExecutorService可以几个一起工作彼此不互相干扰?
...全文
350 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
beiouwolf 2014-03-28
  • 打赏
  • 举报
回复
任何东西都和需求有关 线程池有几个应该看你具体要达到的目的来看 一般来说,如果有一套相同逻辑的多个任务的情况下,应用一个线程池是个好选择 如果项目中有多套不同的这种任务,那每套任务应该一个线程池不是很正常的吗
abcbuzhiming 2014-03-27
  • 打赏
  • 举报
回复
引用 1 楼 Anders_Zhuo 的回复:
ExecutorService 是一个线程池,线程池是有大小的。如果不是很复杂的业务,一般一个线程池就足够了,合理安排线程池的大小就ok
那么,我需要在不同的地方启动线程,要随时拿到这个线程池,也就是说应该作为一个唯一的静态变量了吗
S117 2014-03-27
  • 打赏
  • 举报
回复
楼主见过用多个数据库连接池的吗? 这东西一般情况下,一个足够了!
AndersZhuo123 2014-03-27
  • 打赏
  • 举报
回复
ExecutorService 是一个线程池,线程池是有大小的。如果不是很复杂的业务,一般一个线程池就足够了,合理安排线程池的大小就ok

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧