- 浏览: 29151 次
- 性别:
- 来自: 北京
最新评论
java.util.concurrent.Executors:
工厂类,提供了一些工具方法。支持以下各种方法:
1. 创建并返回设置有常用配置字符串的 ExecutorService 的方法。
2. 创建并返回设置有常用配置字符串的 ScheduledExecutorService 的方法。
3. 创建并返回“包装的”ExecutorService 方法,它通过使特定于实现的方法不可访问来禁用重新配置。
4. 创建并返回 ThreadFactory 的方法,它可将新创建的线程设置为已知的状态。
5. 创建并返回非闭包形式的 Callable 的方法,这样可将其用于需要 Callable 的执行方法中。
Executors中的重要方法:
1. ExecutorService newFixedThreadPool(int nThreads)
创建一个线程池,池中的worker线程数为指定nThreads个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为默认值。
2. ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
创建一个线程池,池中的worker线程数为指定nThreads个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为threadFactory。
3. ExecutorService newSingleThreadExecutor()
创建一个线程池,池中的worker线程数只有一个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为默认值。
4. ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)
创建一个线程池,池中的worker线程数只有一个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为threadFactory。
工厂类,提供了一些工具方法。支持以下各种方法:
1. 创建并返回设置有常用配置字符串的 ExecutorService 的方法。
2. 创建并返回设置有常用配置字符串的 ScheduledExecutorService 的方法。
3. 创建并返回“包装的”ExecutorService 方法,它通过使特定于实现的方法不可访问来禁用重新配置。
4. 创建并返回 ThreadFactory 的方法,它可将新创建的线程设置为已知的状态。
5. 创建并返回非闭包形式的 Callable 的方法,这样可将其用于需要 Callable 的执行方法中。
Executors中的重要方法:
1. ExecutorService newFixedThreadPool(int nThreads)
创建一个线程池,池中的worker线程数为指定nThreads个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为默认值。
2. ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
创建一个线程池,池中的worker线程数为指定nThreads个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为threadFactory。
3. ExecutorService newSingleThreadExecutor()
创建一个线程池,池中的worker线程数只有一个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为默认值。
4. ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)
创建一个线程池,池中的worker线程数只有一个。处理的任务存放在一个未限定容量的LinkedBlockingQueue队列中,产生新线程的工厂为threadFactory。
发表评论
-
asdfasfd
2014-04-12 17:11 625http://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 1326Executors中的重要方法(续): 8. Schedu ... -
java.util.concurrent.Executors源码学习(二)
2011-02-01 11:41 1285Executors中的重要方法(续): 5. Executo ... -
java.util.concurrent.ExecutorService(二)
2011-02-01 11:37 1323ExecutorService中重要的方法(续): 6. ... -
java.util.concurrent.ExecutorService(一)
2011-02-01 11:36 2472java.util.concurrent.ExecutorSe ... -
java.util.concurrent.LinkedBlockingDeque源码学习(三)
2011-02-01 11:33 1262LinkedBlockingDeque中的重要方法(续): ... -
java.util.concurrent.LinkedBlockingDeque源码学习(二)
2011-02-01 11:32 1160LinkedBlockingDeque中的重要方法: 1. ... -
java.util.concurrent.LinkedBlockingDeque源码学习(一)
2011-02-01 11:30 2436java.util.concurrent.LinkedBloc ... -
java.util.concurrent.ConcurrentHashMap源码学习(四)
2011-02-01 11:29 1445ConcurrentHashMap中内部类Se ... -
java.util.concurrent.ConcurrentHashMap源码学习(三)
2011-02-01 11:27 1085ConcurrentHashMap中的内部类: 1. sta ... -
java.util.concurrent.ConcurrentHashMap源码学习(二)
2011-02-01 11:24 1179ConcurrentHashMap中重要的方法: 1. V ... -
java.util.concurrent.ConcurrentHashMap源码学习(一)
2011-02-01 11:22 2091java.util.concurrent.Concurrent ... -
java.util.LinkedHashMap源码学习(二)
2011-02-01 11:20 1496LinkedHashMap中重要的方法: 1. void c ... -
java.util.LinkedHashMap源码学习(一)
2011-02-01 11:19 1220java.util.LinkedHashMap: Linke ... -
java.util.HashMap源码学习(二)
2011-02-01 11:17 1012HashMap中重要的方法: 1. public V put ... -
java.util.HashMap源码学习(一)
2011-02-01 11:09 1137java.util.HashMap: table数组中存放的 ...
相关推荐
Java.util.concurrent是Java 5.0引入的一个重要包,它为多线程编程提供了一组高级并发工具。这个包的设计者是Doug Lea,它的出现是JSR-166的一部分,也被称作Tiger更新。Java.util.concurrent的引入是为了解决传统...
总之,`java.util.concurrent` 提供的工具使得并发编程变得更加容易和高效,是 Java 并发编程的基石,无论是对于初学者还是经验丰富的开发者,理解和掌握这个包都是非常重要的。通过熟练运用这些工具,开发者可以...
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask....
java.util.concurrent.Executors提供了一个java.util.concurrent.Executor接口的实现用于创建线程池。线程池技术主要解决处理器单元内多个线程执行的问题,可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐...
总结一下,Java定时关机源码主要涉及了Java的定时任务处理,可以使用`java.util.Timer`或`java.util.concurrent.ScheduledExecutorService`来实现。通过这两个工具,开发者可以设置在特定时间执行关闭系统的任务,...
因此,在更复杂的场景下,我们通常会使用`ScheduledExecutorService`,它是`java.util.concurrent`包的一部分。下面是如何使用`ScheduledExecutorService`的例子: ```java import java.util.concurrent.Executors;...
在Java中,我们可以使用多种库来实现这个功能,其中最常用的两个是`java.util.Timer`和`java.util.concurrent.ScheduledExecutorService`。 ## 1. `java.util.Timer` `Timer`类是Java标准库中的一个基础定时器,...
Java提供了多种实现定时任务的方式,其中最常用的包括`java.util.Timer`类和`java.util.concurrent.ScheduledExecutorService`接口。本篇文章将深入探讨这两种方法以及它们在实际应用中的使用。 首先,我们来看`...
Java提供了多种实现定时任务的机制,这里主要介绍两种:Java.util.Timer类和java.util.concurrent.ScheduledExecutorService接口。 1. Java.util.Timer类: Timer类是Java早期提供的定时任务工具,它可以安排在...
- `java.util.concurrent.Executors`:提供了一些静态工厂方法,用于创建不同类型的线程池实例,如 `newFixedThreadPool()`、`newSingleThreadExecutor()`。 - `java.util.concurrent.CompletionService`:允许获取...
这就引出了另一个更现代、更强大的解决方案——`java.util.concurrent.ScheduledExecutorService`。 `ScheduledExecutorService`是`ExecutorService`接口的一个子接口,提供了更高级的定时和延迟执行任务的能力。与...
其次,`java.util.concurrent.ScheduledExecutorService` 是Java并发包(java.util.concurrent)中的接口,它提供了更强大和灵活的定时任务调度功能。我们可以使用`Executors`类的静态方法创建一个...
这里我们将深入探讨两种主要的方法:Java的`java.util.Timer`类和Java 5及以上版本引入的`java.util.concurrent.ScheduledExecutorService`接口。 首先,我们来了解`java.util.Timer`类。这个类允许开发者创建一个...
在Java世界里,我们有多种实现定时任务的方式,包括Java内置的`java.util.Timer`类和`java.util.concurrent.ScheduledExecutorService`接口。在Web应用中,例如在Java Web项目中,我们可以利用Servlet容器的特性或者...
import java.util.concurrent.locks.ReentrantLock; public class SimpleDateFormatExample { private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm:ss"); private static Lock lock = ...
`ScheduledExecutorService` 是Java并发包(`java.util.concurrent`)的一部分,提供更强大、灵活的定时任务调度功能。它支持多线程任务执行,并且可以取消任务,还可以精确控制任务执行间隔。 实现 `...
【标题】"javaalert_JAVA源码_" 暗示我们关注的是一个使用Java编程语言编写的关于提醒功能的程序。在Java中,创建一个定时提醒任务通常涉及到使用`java.util.Timer`类或`java.time`包中的定时器功能。让我们深入探讨...
import java.util.concurrent.Executors; import java.io.*; class Server{ static ServerSocket ss=null; static Socket s=null; static List l=new ArrayList(); public Server(){ try { ss=new ...
ExecutorService executor = Executors.newFixedThreadPool(THREAD_POOL_SIZE); List<Future<Void>> futures = new ArrayList(); for (ZipEntry entry : Collections.list(zip.entries())) { futures.add...