Executor与ExecutorService

ExecutorService 接口继承了 Executor 接口,是 Executor 的子接口。

Executor 接口定义了 execute()方法用来接收一个Runnable接口的对象,而 ExecutorService 接口中的 submit()方法可以接受RunnableCallable接口的对象。

Executor 中的 execute() 方法不返回任何结果,而 ExecutorService 中的 submit()方法可以通过一个 Future 对象返回运算结果。

ExecutorService 提供用来控制线程池的方法。比如:调用 shutDown() 方法终止线程池。

补充:Executors执行者工具类,大部分执行者的实例以及线程池都由它的工厂方法创建。

原文地址:https://www.cnblogs.com/deltadeblog/p/9345807.html

时间: 2024-11-09 06:04:32

Executor与ExecutorService的相关文章

Java再学习——Executor,ExecutorService,ScheduledExecutorService与Executors

1,Executor.ExecutorService和ScheduledExecutorService,它们都是接口,它们的关系是ScheduledExecutorService继承ExecutorService而ExecutorService 又继承Executor. 这些只要点开源码就能看得到. 2,对于Executor接口,它只有一个方法void execute(Runnable command);而其后的ExecutorService和ScheduledExecutorService就各

java中Executor、ExecutorService、ThreadPoolExecutor介绍

java中Executor.ExecutorService.ThreadPoolExecutor介绍 ExecutorService 的理解与使用

Executor / Executors / ExecutorService /

Java SE5的java.util.concurrent包中的执行器(Executor)将为你管理Thread对象,从而简化了并发编程.Executor在客户端和执行任务之间提供了一个间接层,Executor代替客户端执行任务.Executor允许你管理异步任务的执行,而无须显式地管理线程的生命周期.Executor在Java SE5/6中时启动任务的优选方法.Executor引入了一些功能类来管理和使用线程Thread,其中包括线程池,Executor,Executors,ExecutorS

java中Executor、ExecutorService、ThreadPoolExecutor介绍(转)

1.Excutor 源码非常简单,只有一个execute(Runnable command)回调接口 public interface Executor { /**     * Executes the given command at some time in the future.  The command     * may execute in a new thread, in a pooled thread, or in the calling     * thread, at the

java多线程之Executor 与 ExecutorService两个基本接口

一.Executor 接口简介 Executor接口是Executor框架的一个最基本的接口,Executor框架的大部分类都直接或间接地实现了此接口. 只有一个方法 void execute(Runnable command): 在未来某个时间执行给定的命令.该命令可能在新的线程.已入池的线程或者正调用的线程中执行,这由 Executor 实现决定. public interface Executor { /** * Executes the given command at some tim

多线程-Executor,Executors,ExecutorService,ScheduledExecutorService,AbstractExecutorService

引用 系统启动一个新线程的成本是比较高的,因为涉及与操作系统交互.使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短的线程时,更应该考虑使用线程池.线程池在系统启动时即创建大量空闲的线程,程序将一个Runnable对象 或Callable对象传给线程池,线程池就会启动一个线程来执行它们的run()或call()方法,当run()或call()方法执行结束后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个Runnable对象的run()或call()方法. 线程

java并发编程框架 Executor ExecutorService invokeall

首先介绍两个重要的接口,Executor和ExecutorService,定义如下: Java代码   public interface Executor { void execute(Runnable command); } Java代码   public interface ExecutorService extends Executor { //不再接受新任务,待所有任务执行完毕后关闭ExecutorService void shutdown(); //不再接受新任务,直接关闭Execut

Executor, ExecutorService 和 Executors 间的不同

一.Java 线程池 Java通过Executors提供四种线程池,分别为:1.newCachedThreadPool: 创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.(线程最大并发数不可控制)2.newFixedThreadPool: 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待.3.newScheduledThreadPool:创建一个定长线程池,支持定时及周期性任务执行.4.newSingleThreadExecutor

java Executor, ExecutorService, Executors 有什么不同

Executor 是一个接口,只定义了一个方法, 可以接收Runnable实例,用来执行一个实现Runnable接口的任务. void execute(Runnable command); ExecutorService 也是一个接口,继承自Executor,并增加了一些方法,用的比较广泛,提供了一些生命周期的方法.shutdown,还有submit方法返回值是future. ExecutorService就是为了解决执行服务的生命周期问题的. ExecutorService的生命周期有3种状态