java ExecutorService类使用时 shutdown后 怎么再次启动它呢

sungang1120 2014-09-05 03:00:23
我的代码结构如下:

我现在调用了 stop()后
public void stop() {
this.executorService.shutdown();
this.woker.stop();
try {
//关闭线程池后 休眠三秒 用于让所有在线程池中没有执行完的任务继续执行完
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
LogUtils.logWarn("MQ client Stoped!");
}


这里是关闭了 线程池

然后我接着还会start()

for (String queueName : this.queues) {
workCount ++;
AbstractQueue abstractQueue = QueueFactory.createQueue(queueName, this.channels.get(queueName),
this.queueConsumers.get(queueName));
if (abstractQueue != null){
if (executorService.isShutdown()) {
//executorService 我这里怎么处理,要不下面会报错
}
executorService.submit(abstractQueue);
LogUtils.logInfo("Create worker [ " + queueName + " ]");
}



线程池 这块不要好用的,哪位大神帮忙解答下,我看它里面的API也没有提供 启动类似的方法啊?
...全文
4833 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
少主无翼 2014-11-20
  • 打赏
  • 举报
回复 2
shutdown之后不能提交新任务,之前提交的任务会继续执行,而且不能重启启动了,如果还想使用就只能再起一个了。
Jesse_ll 2014-11-19
  • 打赏
  • 举报
回复
和楼主一样,同求解答~
SG90 2014-09-06
  • 打赏
  • 举报
回复
是不是只能重新new一个ExecutorService了
SG90 2014-09-06
  • 打赏
  • 举报
回复
shutdown调用后,不可以再submit新的task,已经submit的将继续执行。

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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