java多线程之Executor 与 ExecutorService两个基本接口
2020-12-13 06:28
标签:简单 interrupt 调用 callable 程序 wait accept oid 说明 Executor接口是Executor框架的一个最基本的接口,Executor框架的大部分类都直接或间接地实现了此接口。 只有一个方法 Executor的几种实现原理介绍: 1、 Executor 接口并没有严格地要求执行是异步的。在最简单的情况下,执行程序可以在调用者的线程中立即运行已提交的任务: 2、 更常见的是,任务是在某个不是调用者线程的线程中执行的。以下执行程序将为每个任务生成一个新线程。 3、 许多 Executor 实现都对调度任务的方式和时间强加了某种限制。以下执行程序使任务提交与第二个执行程序保持连续,这说明了一个复合执行程序。 ExecutorService 的实现: java多线程之Executor 与 ExecutorService两个基本接口 标签:简单 interrupt 调用 callable 程序 wait accept oid 说明 原文地址:https://www.cnblogs.com/heqiyoujing/p/11180579.html一、Executor 接口简介
void execute(Runnable command): 在未来某个时间执行给定的命令。该命令可能在新的线程、已入池的线程或者正调用的线程中执行,这由 Executor 实现决定。
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 discretion of the {@code Executor} implementation.
*
* @param command the runnable task
* @throws RejectedExecutionException if this task cannot be
* accepted for execution
* @throws NullPointerException if command is null
*/
void execute(Runnable command);
}
class DirectExecutor implements Executor {
public void execute(Runnable r) {
r.run();
}
}
class ThreadPerTaskExecutor implements Executor {
public void execute(Runnable r) {
new Thread(r).start();
}
}
class SerialExecutor implements Executor {
private final Queue
二、ExecutorService 接口简介
ExecutorService
是一个接口,提供了管理终止的方法,以及可为跟踪一个或多个异步任务执行状况而生成Future 的方法。
AbstractExecutorService
(默认实现类) , ScheduledThreadPoolExecutor
, ThreadPoolExecutor
Executors
提供了此接口的几种常用实现的工厂方法。 1. 从Executor 接口中继承了不跟踪异步线程,没有返回的 execute 方法:
void execute(Runnable command);
2.扩展的跟踪异步线程、返回Future 接口的实现类的方法:
public interface ExecutorService extends Executor {
//启动一次顺序关闭,执行以前提交的任务,但不接受新任务。如果已经关闭,则调用没有其他作用。
void shutdown();
//试图停止所有正在执行的活动任务,暂停处理正在等待的任务,并返回等待执行的任务列表。 无法保证能够停止正在处理的活动执行任务,但是会尽力尝试。例如,在 ThreadPoolExecutor 中,通过 Thread.interrupt() 来取消典型的实现,所以如果任务无法响应中断,则永远无法终止。
List
上一篇:ShowWindow
下一篇:python 进程间通信
文章标题:java多线程之Executor 与 ExecutorService两个基本接口
文章链接:http://soscw.com/essay/33101.html