`

java-ExecutorService接口

阅读更多

1、ExecutorService接口扩展了Executor,实现线程生命周期的3种状态:运行、关闭、终止。最初创建的状态是运行,shutdown方法启动一个平缓的关闭过程:

1)停止接受新的任务。

2)同时等待已经提交的任务完成-包括沿未开始执行的任务

shutdownNow方法启动一个强制的关闭过程:

尝试取消所有运行中的任务和排在队伍中尚未开始的任务。

2、

public interface ExecutorService extends Executor{

    voidshutdown();

   List<Runnable> shutdownNow();

    booleanisShutdown();;

    booleanisTerminated();

    bolleanawaitTermination(long timeout,timeUnit unit)

    throwsInterruptedException;

   ..............

}

3、在关闭后提交到ExecutorService中的任务,会被拒绝执行处理器处理。拒绝执行处理器由ThreadPoolExecutor提供,可能只是简单地放弃任务,可能会引起execute招聘一个未检查的RejectedExeucutionExeception。一旦任务全部完成后,ExecutorService会转入终止状态。你可以调用awaitTermination等待ExecutorService到达终止状态。也可以使用isTermination来轮询.通常shutdown在awaitTermination之后.

分享到:
评论

相关推荐

    在spring boot中使用java线程池ExecutorService的讲解

    在 Spring Boot 中使用 Java 线程池 ExecutorService 的讲解 Spring Boot 作为一个流行的 Java 框架,提供了许多便捷的功能来帮助开发者快速构建应用程序。其中之一就是使用 Java 线程池 ExecutorService 来管理...

    Java-concurrency-master.zip

    5. **线程池**:Java的`ExecutorService`和`ThreadPoolExecutor`允许开发者创建和管理线程池,提高线程复用,避免频繁创建和销毁线程的开销。 6. **Future和Callable**:`Future`接口代表异步计算的结果,而`...

    java72-java-advance源代码.zip

    1. **多线程**:Java提供了丰富的多线程支持,包括Thread类、Runnable接口以及ExecutorService等,源代码中可能会有并发处理的例子。 2. **集合框架**:可能包含对ArrayList、LinkedList、HashSet、HashMap等集合类...

    学习 java-17 的安装资源包

    - 学习Java基础语法,包括类、对象、继承、多态、接口等概念。 - 探索Java集合框架,如ArrayList、HashMap等,并理解其工作原理。 6. 进阶学习: - 学习多线程编程,掌握synchronized关键字、Thread类和...

    java-version--VSM.rar_VSM JAVA_java VSM_java-version--VSM_vsm_文件

    Java的Thread类和ExecutorService接口可以实现这一功能。 7. **结果展示**:最后,计算出的相似度可能会以某种形式输出,比如打印到控制台或写入文件。 这个项目对于信息检索、文本挖掘或数据分析等领域有实际应用...

    java-concurrency编程内部分享.zip_java-concurrency

    2. **Java并发API**:Java提供了丰富的并发API,如`Thread`类、`Runnable`接口、`ExecutorService`、`Future`、`Callable`等,这些API帮助开发者创建和管理线程,以及处理线程间的协作和通信。 3. **同步机制**:...

    Java-J2SE学习笔记

    - **线程池**:ExecutorService接口和ThreadPoolExecutor类用于管理线程。 7. **网络编程**: - **套接字编程**:Socket和ServerSocket类用于客户端-服务器通信。 - **URL和URLConnection**:用于从网络上获取...

    java-api帮助文档

    Java API(Application Programming Interface)是Java编程语言的核心组成部分,它为开发者提供了丰富的类库和接口,使得开发人员能够构建各种复杂的应用程序。这个"java-api帮助文档"是Java开发者的宝贵资源,它...

    2011.08.30(2)——— java BlockingQueue ExecutorService

    3. ExecutorService接口及其在多线程编程中的作用。 4. 如何创建和配置ThreadPoolExecutor。 5. 使用BlockingQueue与ExecutorService协同工作的示例代码。 6. 生产者-消费者模型在并发编程中的应用。 这些内容对于...

    java-api-1.8.zip

    9. **并发改进**:Java 8对`Fork/Join`框架和`ExecutorService`进行了优化,提高了多线程编程的效率和便利性。 10. **并发集合的增强**:包括`ConcurrentHashMap`、`ConcurrentSkipListMap`等并发集合类的改进,...

    java-异样记事本

    Java的Thread类和ExecutorService接口可以帮助我们管理和调度并发任务。 7. **异常处理**: 为了确保程序的健壮性,我们需要处理可能出现的异常。Java的try-catch-finally语句块和异常类系统是实现异常处理的基础。 ...

    java第17章java-chapter17.rar

    理解线程安全、同步机制(如synchronized关键字和Lock接口)、死锁和活锁的概念,以及如何使用并发工具类(如ExecutorService和Semaphore)是提高多线程程序性能的关键。 最后,可能会讨论到Java的输入/输出(I/O)...

    java-test.zip_java面试题

    - 创建线程的方式:继承Thread类、实现Runnable接口、使用ExecutorService。 - 线程同步:synchronized关键字、Lock接口、volatile关键字。 - 线程池:ExecutorService的理解与配置,线程池的五种执行策略。 - ...

    Java-API-For-Chinese.rar_java API_java api

    5. **多线程**:`java.lang.Thread`和`java.util.concurrent`包提供了线程管理和并发控制的相关类,如`Runnable`接口和`ExecutorService`。 6. **异常处理**:`java.lang.Throwable`及其子类如`Exception`、`Error`...

    JAVA-JavaThreadProgramming-Sams.zip_JAVA 设计_java 多线程_java 线程_多线程

    ExecutorService和Future接口为线程池和异步任务执行提供了抽象,使得开发者可以更好地管理和控制并发任务。 `JAVA-JavaThreadProgramming-Sams.chm`可能包含了详细的章节,如线程的创建与管理、线程同步、并发工具...

    java-java面试题库整理-基础-JVM-线程并发-框架等.zip

    - 线程池:熟悉ExecutorService和ThreadPoolExecutor,以及线程池的配置和优化。 - 并发工具类:了解ConcurrentHashMap、CountDownLatch、CyclicBarrier、Semaphore等并发工具的用法。 4. **框架** - Spring框架...

    JAVA-API.rar_Java api文档_java api

    5. **多线程**:Java API提供了丰富的多线程支持,如`java.lang.Thread`类和`java.util.concurrent`包,后者包含高级并发工具,如ExecutorService和Future。 6. **集合框架**:Java集合框架是`java.util`包下的一...

    java-api得到地地道道地地道道地地道道

    ExecutorService和Future接口则提供了更高级的并发处理机制。 7. **反射机制**:Java反射API(`java.lang.reflect`包)允许程序在运行时检查和修改其行为,包括动态加载类、创建对象、访问和修改字段以及调用方法。...

    Java-SE-class-library-.zip_java se

    `Runnable`接口和`Thread`类允许创建和管理线程,`ExecutorService`和`Future`接口则提供了更高级的线程管理和结果处理机制。 6. **网络编程**:`java.net`包提供了网络通信所需的基本类,如`Socket`和`...

    Java 线程池ExecutorService详解及实例代码

    ExecutorService是Java中实现线程池功能的接口,它扩展了Executor接口。Executor接口只有一个execute()方法,用于执行Runnable任务。ExecutorService则提供了更丰富的操作,如shutdown()用于停止接收新任务并等待已...

Global site tag (gtag.js) - Google Analytics