- 浏览: 29230 次
- 性别:
- 来自: 北京
最新评论
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。
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。
发表评论
-
asdfasfd
2014-04-12 17:11 627http://www.laomaotao.net/?H9197 ... -
工木rrrr
2012-12-20 20:33 0工工工工工工工工 -
http://yiminghe.iteye.com/blog/291126
2011-10-13 18:04 0http://yiminghe.iteye.com/blog/ ... -
java.util.concurrent.Executors源码学习(三)
2011-02-01 11:43 1328Executors中的重要方法(续): 8. Schedu ... -
java.util.concurrent.Executors源码学习(二)
2011-02-01 11:41 1289Executors中的重要方法(续): 5. Executo ... -
java.util.concurrent.Executors源码学习(一)
2011-02-01 11:39 1778java.util.concurrent.Executors: ... -
java.util.concurrent.ExecutorService(二)
2011-02-01 11:37 1327ExecutorService中重要的方法(续): 6. ... -
java.util.concurrent.LinkedBlockingDeque源码学习(三)
2011-02-01 11:33 1263LinkedBlockingDeque中的重要方法(续): ... -
java.util.concurrent.LinkedBlockingDeque源码学习(二)
2011-02-01 11:32 1162LinkedBlockingDeque中的重要方法: 1. ... -
java.util.concurrent.LinkedBlockingDeque源码学习(一)
2011-02-01 11:30 2446java.util.concurrent.LinkedBloc ... -
java.util.concurrent.ConcurrentHashMap源码学习(四)
2011-02-01 11:29 1446ConcurrentHashMap中内部类Se ... -
java.util.concurrent.ConcurrentHashMap源码学习(三)
2011-02-01 11:27 1091ConcurrentHashMap中的内部类: 1. sta ... -
java.util.concurrent.ConcurrentHashMap源码学习(二)
2011-02-01 11:24 1183ConcurrentHashMap中重要的方法: 1. V ... -
java.util.concurrent.ConcurrentHashMap源码学习(一)
2011-02-01 11:22 2094java.util.concurrent.Concurrent ... -
java.util.LinkedHashMap源码学习(二)
2011-02-01 11:20 1501LinkedHashMap中重要的方法: 1. void c ... -
java.util.LinkedHashMap源码学习(一)
2011-02-01 11:19 1225java.util.LinkedHashMap: Linke ... -
java.util.HashMap源码学习(二)
2011-02-01 11:17 1017HashMap中重要的方法: 1. public V put ... -
java.util.HashMap源码学习(一)
2011-02-01 11:09 1139java.util.HashMap: table数组中存放的 ...
相关推荐
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
`java.util.concurrent.ExecutionException`通常是由于并发执行的Future或ExecutorService任务抛出异常导致的。在这个特定情况下,它伴随着`java.lang.OutOfMemoryError`,说明是内存不足引发了并发任务的执行失败。...
Java.util.concurrent是Java 5.0引入的一个重要包,它为多线程编程提供了一组高级并发工具。这个包的设计者是Doug Lea,它的出现是JSR-166的一部分,也被称作Tiger更新。Java.util.concurrent的引入是为了解决传统...
java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
为了简化并发编程的复杂性,Java 5 引入了 `java.util.concurrent` 包,提供了一系列强大的类和接口,帮助开发者更高效地管理多线程任务。 #### 二、`java.util.concurrent` 概览 `java.util.concurrent` 包提供了...
Java.util.concurrent(JUC)是Java平台中的一个核心包,专门用于处理多线程并发问题。这个包包含了大量的工具类和接口,极大地简化了并发编程的复杂性,提高了程序的性能和可伸缩性。本测试源文件主要是针对JUC并发...
标题中提到了“java.util.concurrent.uml.pdf”,这表明文件是一份Java并发编程工具包java.util.concurrent的UML(统一建模语言)类结构图的PDF格式文件。UML图能够帮助开发者理解Java并发包中的类、接口及其关系,...
多线程编程是 Java 语言中的一大特点,java.util.concurrent 多线程框架则是该特点的体现。该框架提供了多种机制,包括线程池、并发集合、同步器、lock 等,以便开发者更方便地编写高效、可靠的多线程程序。 在 ...
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中,`java.util.concurrent.ExecutorService` 接口代表了一个线程池服务,而`ThreadPoolExecutor` 是它的具体实现,我们可以自定义线程池的核心参数,如核心线程数、最大线程数、线程存活时间、线程队列等。...
Java并发工具包(java.util.concurrent)是Java平台上用于高效、安全地处理多线程编程的重要组件。这个包包含了丰富的并发工具类,旨在帮助开发者构建高度并发的程序,提高程序的性能和可伸缩性。本资源是该工具包的...
《Java Util Concurrent中文版》是Java并发编程领域的重要参考资料,主要涵盖了Java标准库中的`java.util.concurrent`包及其相关类和接口。这个包是Java多线程编程的核心,提供了高效、安全的并发工具,帮助开发者...
本文将详细探讨Atlassian发布的`atlassian-util-concurrent-0.0.12.jar`库,这是一个专门针对并发处理的工具集,旨在简化Java开发中的多线程操作。 `atlassian-util-concurrent-0.0.12.jar.zip`是这个库的压缩文件...
总之,`java.util.concurrent` 提供的工具使得并发编程变得更加容易和高效,是 Java 并发编程的基石,无论是对于初学者还是经验丰富的开发者,理解和掌握这个包都是非常重要的。通过熟练运用这些工具,开发者可以...
Java.util.concurrent包(虽然不是直接在Java.util下,但密切相关)包含了一系列线程安全的数据结构和并发工具,如Semaphore、ExecutorService、CountDownLatch等,极大地简化了多线程编程。 8. **枚举Set**: ...
Java的`java.util.concurrent`包提供了丰富的线程工具,如`ExecutorService`、`Semaphore`、`CountDownLatch`等,帮助开发者高效地管理和控制并发。 以上各个模块的知识点相互独立,但又经常协同工作,共同构成了...
此功能增强了唯一的Java 8内置实现 ,该实现主要支持计算任务。 此外,该库还可以帮助解决许多异步编程难题,例如处理超时,重试/轮询功能,协调多个并发计算的结果等。 从版本该库以多发行版JAR的形式提供,并且...
8. **并发编程**:`java.util.concurrent`包虽然不在`java.util`下,但与之紧密相关,提供了高级并发工具,如ExecutorService、Future、Semaphore和CyclicBarrier。 9. **事件模型**:`java.util.EventObject`和`...
8. **`java.util.concurrent`** 包:提供并发工具类,如`ExecutorService`、`Future`和`Semaphore`,帮助管理线程和控制并发。 9. **`java.util.Map.Entry`**:表示Map中的键值对,常用于遍历Map。 10. **`java....