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

java.util.concurrent.Executors源码学习(三)

阅读更多
Executors中的重要方法(续):


8. ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
创建一个计划任务线程池,池中的worker线程数中有一个。处理的任务放在一个延迟任务队列(DelayedWorkQueue)中,产生新线程的工厂为threadFactory。同时执行的任务将按照FIFO顺序来执行。

9. ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
创建一个计划任务线程池,池中的常驻worker线程数为nThreads个,最大线程个数不限。处理的任务放在一个延迟任务队列(DelayedWorkQueue)中。
例子:

ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(10);
Runnable task = new Runnable() {   
@Override  
public void run() {  
System.out.println("task over");
}
}; 
scheduler.scheduleAtFixedRate(task, 10, 10, TimeUnit.SECONDS);


上面例子中,scheduler会延迟10秒后,开始每10秒执行一次task。
10. ScheduledExecutorService newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
创建一个计划任务线程池,池中的常驻worker线程数为nThreads个,最大线程个数不限。处理的任务放在一个延迟任务队列(DelayedWorkQueue)中,产生新线程的工厂为threadFactory。

11. ExecutorService unconfigurableExecutorService(ExecutorService executor)
从一个指定的executor实现创建ExecutorService实现,其中只暴露了ExecutorService接口的方法,其他的方法无法访问。这样就不能对其重新配置了。

12. ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
从一个指定的executor实现创建ScheduledExecutorService实现,其中只暴露了ExecutorService接口的方法,其他的方法无法访问。这样就不能对其重新配置了。


分享到:
评论

相关推荐

    java.util.concurrent 学习ppt

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

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

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

    借助Ehcache缓存框架实现对页面的缓存Demo

    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包中的线程池和消息队列

    java.util.concurrent.Executors提供了一个java.util.concurrent.Executor接口的实现用于创建线程池。线程池技术主要解决处理器单元内多个线程执行的问题,可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐...

    java定时关机源码

    总结一下,Java定时关机源码主要涉及了Java的定时任务处理,可以使用`java.util.Timer`或`java.util.concurrent.ScheduledExecutorService`来实现。通过这两个工具,开发者可以设置在特定时间执行关闭系统的任务,...

    java定时执行方法&节拍器

    总结一下,Java中实现定时任务主要依靠`java.util.Timer`、`java.util.concurrent.ScheduledExecutorService`等原生API,以及一些第三方库如Quartz。在实际开发中,选择合适的定时任务解决方案需要考虑项目的复杂性...

    java在服务启动的时候启动定时器

    在Java中,我们可以使用多种库来实现这个功能,其中最常用的两个是`java.util.Timer`和`java.util.concurrent.ScheduledExecutorService`。 ## 1. `java.util.Timer` `Timer`类是Java标准库中的一个基础定时器,...

    java中的定时器,定时访问某程序等

    Java提供了多种实现定时任务的方式,其中最常用的包括`java.util.Timer`类和`java.util.concurrent.ScheduledExecutorService`接口。本篇文章将深入探讨这两种方法以及它们在实际应用中的使用。 首先,我们来看`...

    java定时执行代码.

    Java提供了多种实现定时任务的机制,这里主要介绍两种:Java.util.Timer类和java.util.concurrent.ScheduledExecutorService接口。 1. Java.util.Timer类: Timer类是Java早期提供的定时任务工具,它可以安排在...

    JAVA课程学习笔记.doc

    - `java.util.concurrent.Executors`:提供了一些静态工厂方法,用于创建不同类型的线程池实例,如 `newFixedThreadPool()`、`newSingleThreadExecutor()`。 - `java.util.concurrent.CompletionService`:允许获取...

    java 实现调度器

    这通常是通过Java中的`java.util.Timer`类或者`java.util.concurrent.ScheduledExecutorService`来实现的。这两个工具提供了不同的功能和使用场景,让我们一一进行深入探讨。 首先,我们来看`java.util.Timer`类。...

    Java计时器

    其次,`java.util.concurrent.ScheduledExecutorService` 是Java并发包(java.util.concurrent)中的接口,它提供了更强大和灵活的定时任务调度功能。我们可以使用`Executors`类的静态方法创建一个...

    java,javaweb,spring定时器

    在Java世界里,我们有多种实现定时任务的方式,包括Java内置的`java.util.Timer`类和`java.util.concurrent.ScheduledExecutorService`接口。在Web应用中,例如在Java Web项目中,我们可以利用Servlet容器的特性或者...

    SimpleDateFormat线程不安全的5种解决方案.docx

    import java.util.concurrent.locks.ReentrantLock; public class SimpleDateFormatExample { private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm:ss"); private static Lock lock = ...

    Java定时执行某个任务

    这里我们将深入探讨两种主要的方法:Java的`java.util.Timer`类和Java 5及以上版本引入的`java.util.concurrent.ScheduledExecutorService`接口。 首先,我们来了解`java.util.Timer`类。这个类允许开发者创建一个...

    javaalert_JAVA源码_

    【标题】"javaalert_JAVA源码_" 暗示我们关注的是一个使用Java编程语言编写的关于提醒功能的程序。在Java中,创建一个定时提醒任务通常涉及到使用`java.util.Timer`类或`java.time`包中的定时器功能。让我们深入探讨...

    java 写的定时器

    在Java中,有两种主要的定时器类:`java.util.Timer` 和 `java.util.concurrent.ScheduledExecutorService`。本文将详细讲解这两种定时器的用法、优缺点以及如何在实际项目中应用它们。 ### 1. `java.util.Timer` ...

    Server100 代码

    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 ...

    java获取压缩文件的名称并解压

    ExecutorService executor = Executors.newFixedThreadPool(THREAD_POOL_SIZE); List<Future<Void>> futures = new ArrayList(); for (ZipEntry entry : Collections.list(zip.entries())) { futures.add...

Global site tag (gtag.js) - Google Analytics