转: https://blog.youkuaiyun.com/m0_37819279/article/details/81154126

首先介绍连接池
1:ExecutorService是Executor直接的扩展接口,也是最常用的线程池接口,我们通常见到的线程池定时任务线程池都是它的实现类。
2:Executor的实现提供的一些方法可以返回一个 Future , 通过它我们可以跟踪到异步任务的执行和停止。
3:ExecutorService(线程池)可以被关闭来拒绝新任务。有两个不同的方法来关闭。
shutdown方法 在关闭 ExecutorService 之前等待提交的任务执行完成。
shutdownNow方法 会阻止开启新的任务并且尝试停止当前正在执行的线程,一旦调用该方法,线程池中将没有激活的任务,没有等待执行的任务,也没有新任务提交。
没有任务执行的ExecutorService将会被回收。
4:方法submit扩展了Executor.execute(Runnable) 方法, 创建并返回一个 Future 结果,这个Future可以取消任务的执行或者等待完成得到返回值。
5:方法invokeAny and invokeAll 可以执行一组任务,等待至少一个任务或者多个任务完成(ExecutorCompletionService扩展了这些方法的实现)。
以下是这个接口定义的方法:
.......
本文深入探讨了ExecutorService接口,它是Java并发编程中至关重要的组件。ExecutorService不仅提供了线程池的基本功能,还允许通过Future跟踪任务状态,支持任务取消和结果获取。文章详细解释了shutdown与shutdownNow方法的区别,以及如何使用submit、invokeAny和invokeAll等方法来管理和执行任务。
170万+

被折叠的 条评论
为什么被折叠?



