`
latex
  • 浏览: 29142 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java.util.concurrent.ExecutorService(一)

阅读更多
java.util.concurrent.ExecutorService:

ExecutorService扩展了Executor并添加了一些生命周期管理的方法,同时提供一个Future用来监控异步任务的执行过程。一个Executor的生命周期有三种状态,运行 ,关闭 ,终止 。Executor创建时处于运行状态。当调用ExecutorService.shutdown()后,处于关闭状态,isShutdown()方法返回true。这时,不应该再向Executor中添加任务,所有已添加的任务执行完毕后,Executor处于终止状态时isTerminated()返回true。如果Executor处于关闭状态,往Executor提交任务会抛出 RejectedExecutionException。

ExecutorService中重要的方法:
1. void shutdown()
按照任务提交的顺序关闭已经提交的任务,不再接受新提交的任务。

2. List<Runnable> shutdownNow()
尝试停止所有正在执行的任务,停止处理所有处在等待状态的任务,返回正在等待执行的任务的列表。

3. boolean isShutdown()
如果执行器(Executor)已经被关闭,则返回true。

4. boolean isTerminated()
如果所有任务都已经被关闭,则返回true。如果之前没有调用shutdown或shutdownNow,即使没有任务在执行也不会返回true。

5. boolean awaitTermination(long timeout, TimeUnit unit)
提交shutdown请求后,等待所有任务执行完毕、发生超时或当前线程被interrupted。当Executor被终止时返回true,当超时发生返回false。
分享到:
评论

相关推荐

    java并发工具包 java.util.concurrent中文版用户指南pdf

    1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...

    Tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException)

    `java.util.concurrent.ExecutionException`通常是由于并发执行的Future或ExecutorService任务抛出异常导致的。在这个特定情况下,它伴随着`java.lang.OutOfMemoryError`,说明是内存不足引发了并发任务的执行失败。...

    java.util.concurrent 学习ppt

    Java.util.concurrent是Java 5.0引入的一个重要包,它为多线程编程提供了一组高级并发工具。这个包的设计者是Doug Lea,它的出现是JSR-166的一部分,也被称作Tiger更新。Java.util.concurrent的引入是为了解决传统...

    Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf

    java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...

    java并发工具包 java.util.concurrent中文版pdf

    为了简化并发编程的复杂性,Java 5 引入了 `java.util.concurrent` 包,提供了一系列强大的类和接口,帮助开发者更高效地管理多线程任务。 #### 二、`java.util.concurrent` 概览 `java.util.concurrent` 包提供了...

    java.util.concurrent.uml.pdf

    标题中提到了“java.util.concurrent.uml.pdf”,这表明文件是一份Java并发编程工具包java.util.concurrent的UML(统一建模语言)类结构图的PDF格式文件。UML图能够帮助开发者理解Java并发包中的类、接口及其关系,...

    java.util.concurrent-多线程框架.docx

    多线程编程是 Java 语言中的一大特点,java.util.concurrent 多线程框架则是该特点的体现。该框架提供了多种机制,包括线程池、并发集合、同步器、lock 等,以便开发者更方便地编写高效、可靠的多线程程序。 在 ...

    Java并发工具包java.util.concurrent用户指南中英文对照阅读版

    pdf 文档,一本根据 Jakob Jenkov 最新博客 (http://tutorials.jenkov.com/java-util-concurrent/index.html) 整理的 java_util_concurrent_user_guide_en.pdf,一个中文翻译的 java_util_concurrent_user_guide_...

    java.util.concurrent 实现线程池队列

    在Java中,`java.util.concurrent.ExecutorService` 接口代表了一个线程池服务,而`ThreadPoolExecutor` 是它的具体实现,我们可以自定义线程池的核心参数,如核心线程数、最大线程数、线程存活时间、线程队列等。...

    java并发工具包 java.util.concurrent中文版-带书签版

    Java并发工具包(java.util.concurrent)是Java平台上用于高效、安全地处理多线程编程的重要组件。这个包包含了丰富的并发工具类,旨在帮助开发者构建高度并发的程序,提高程序的性能和可伸缩性。本资源是该工具包的...

    java.util.concurrent 测试源文件

    Java.util.concurrent(JUC)是Java平台中的一个核心包,专门用于处理多线程并发问题。这个包包含了大量的工具类和接口,极大地简化了并发编程的复杂性,提高了程序的性能和可伸缩性。本测试源文件主要是针对JUC并发...

    java_util_concurrent中文版pdf

    《Java Util Concurrent中文版》是Java并发编程领域的重要参考资料,主要涵盖了Java标准库中的`java.util.concurrent`包及其相关类和接口。这个包是Java多线程编程的核心,提供了高效、安全的并发工具,帮助开发者...

    atlassian-util-concurrent-0.0.12.jar.zip

    本文将详细探讨Atlassian发布的`atlassian-util-concurrent-0.0.12.jar`库,这是一个专门针对并发处理的工具集,旨在简化Java开发中的多线程操作。 `atlassian-util-concurrent-0.0.12.jar.zip`是这个库的压缩文件...

    java.util.concurrent介绍(重要).pdf

    总之,`java.util.concurrent` 提供的工具使得并发编程变得更加容易和高效,是 Java 并发编程的基石,无论是对于初学者还是经验丰富的开发者,理解和掌握这个包都是非常重要的。通过熟练运用这些工具,开发者可以...

    JBuider第七章:Java.util包.rar

    Java.util.concurrent包(虽然不是直接在Java.util下,但密切相关)包含了一系列线程安全的数据结构和并发工具,如Semaphore、ExecutorService、CountDownLatch等,极大地简化了多线程编程。 8. **枚举Set**: ...

    java-util大全.rar

    Java的`java.util.concurrent`包提供了丰富的线程工具,如`ExecutorService`、`Semaphore`、`CountDownLatch`等,帮助开发者高效地管理和控制并发。 以上各个模块的知识点相互独立,但又经常协同工作,共同构成了...

    tascalate-concurrent:阻塞(IO绑定)的实现可取消java.util.concurrent.CompletionStage和java.util.concurrent.ExecutorService-s的相关扩展

    此功能增强了唯一的Java 8内置实现 ,该实现主要支持计算任务。 此外,该库还可以帮助解决许多异步编程难题,例如处理超时,重试/轮询功能,协调多个并发计算的结果等。 从版本该库以多发行版JAR的形式提供,并且...

    java.util源码-java-util:javautil源代码

    8. **并发编程**:`java.util.concurrent`包虽然不在`java.util`下,但与之紧密相关,提供了高级并发工具,如ExecutorService、Future、Semaphore和CyclicBarrier。 9. **事件模型**:`java.util.EventObject`和`...

    30个常用java工具类

    8. **`java.util.concurrent`** 包:提供并发工具类,如`ExecutorService`、`Future`和`Semaphore`,帮助管理线程和控制并发。 9. **`java.util.Map.Entry`**:表示Map中的键值对,常用于遍历Map。 10. **`java....

Global site tag (gtag.js) - Google Analytics