黑马程序员技术交流社区

标题: 银行业务线程池问题 [打印本页]

作者: 张东健    时间: 2014-3-19 20:03
标题: 银行业务线程池问题
本帖最后由 张东健 于 2014-3-20 00:56 编辑

在张老师银行业务调度系统中,在服务窗口启动时用的线程方法是Executors.newSingleThreadExecutor(),这个看方法名就是启用了一个线程,这个方法和Executors.newScheduledThreadPool(1)是一个意思吗,还有窗口为什么就启动一个线程呢,我启动多个不行吗
作者: e.c    时间: 2014-3-19 20:14
好像不一样,newSingleThreadExecutor线程执行任务失败会创建一个新的线程。
作者: e.c    时间: 2014-3-19 20:16
可以同时启动多个线程,在窗口类里用一个静态变量指向;或外部传入ExecutorService对象进去
作者: 张东健    时间: 2014-3-19 20:42
e.c 发表于 2014-3-19 20:16
可以同时启动多个线程,在窗口类里用一个静态变量指向;或外部传入ExecutorService对象进去 ...

静态变量指向?,能否大白话解释下
作者: e.c    时间: 2014-3-19 21:47
张东健 发表于 2014-3-19 20:42
静态变量指向?,能否大白话解释下

一个窗口只要一个线程运行就可以了,所以每个窗口都newSingleThreadExecutor()启动了一个线程

如果一下启动多个线程放到池中,让服务窗口都用这个线程池:是不是下面这个意思?
static ExecutorService es = Executors.newFixedThreadPool(3)//3个服务窗口
es.execute(new Runnable() {public void run() {//具体服务代码}}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2