用线程池启动定时器

标签: 线程池 定时器 | 发表时间:2012-07-27 15:04 | 作者:chen11-1
出处:http://www.blogjava.net/

(1)调用ScheduledExecutorService的schedule方法,返回的ScheduleFuture对象可以取消任务。
(2)支持间隔重复任务的定时方式,不直接支持绝对定时方式,需要转换成相对时间方式。

Java代码  
  1. Executors.newScheduledThreadPool(3).schedule(new Runnable() {          
  2.          @Override  
  3.            public void run() {   
  4.             System.out.println("响");           
  5.         }   
  6.           }, 10,TimeUnit.SECONDS);       //在10秒后响一次  
Executors.newScheduledThreadPool(3).schedule(new Runnable() {		
         @Override
	       public void run() {
		    System.out.println("响");		
		}
          }, 10,TimeUnit.SECONDS);       //在10秒后响一次   tb
 
Java代码  
  1. Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable() {        //频率   
  2.             @Override  
  3.             public void run() {   
  4.                 // TODO Auto-generated method stub   
  5.             System.out.println("响");           
  6.              }   
  7.            },    
  8.         6,   
  9.         2,   
  10.                 TimeUnit.SECONDS);       //在10秒后响之后,每隔2秒响一次  
Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable() {		//频率
			@Override
			public void run() {
				// TODO Auto-generated method stub
		    System.out.println("响");		
			 }
		   }, 
		6,
		2,
                TimeUnit.SECONDS);       //在10秒后响之后,每隔2秒响一次
 


chen11-1 2012-07-27 15:04 发表评论

相关 [线程池 定时器] 推荐:

用线程池启动定时器

- - BlogJava-首页技术区
(1)调用ScheduledExecutorService的schedule方法,返回的ScheduleFuture对象可以取消任务. (2)支持间隔重复任务的定时方式,不直接支持绝对定时方式,需要转换成相对时间方式.             System.out.println("响");           .

Java线程池

- - 企业架构 - ITeye博客
线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的. 在jdk1.5之后这一情况有了很大的改观. Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用. 为我们在开发中处理线程的问题提供了非常大的帮助.

Java 线程池

- - 编程语言 - ITeye博客
在项目中,系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互. 在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存周期很短的线程时,更应该考虑使用线程池. 使用线程池可以有效地控制系统中并发线程的数量,当系统中包含大量并发线程时,会导致系统性能剧烈下降,甚至导致JVM崩溃,而线程池的最大线程数参数可以控制系统中并发线程数不超过此数.

java线程池分析

- - BlogJava-首页技术区
    在Java 5.0之前启动一个任务是通过调用Thread类的start()方法来实现的,任务的提于交和执行是同时进行的,如果你想对任务的执行进行调度或是控制 同时执行的线程数量就需要额外编写代码来完成. 5.0里提供了一个新的任务执行架构使你可以轻松地调度和控制任务的执行,并且可以建立一个类似数据库连接 池的线程池来执行任务.

Java线程池应用

- - CSDN博客架构设计推荐文章
1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务. 2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机). Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具.

Java线程池总结

- - Java - 编程语言 - ITeye博客
  假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间. 当T1 + T3 远大于 T2时,采用多线程技术可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力.     线程池就是一个线程的容器,每次只执行额定数量的线程, 线程池作用就是限制系统中执行线程的数量.

java 线程池原理及几种线程池详解

- - CSDN博客综合推荐文章
服务器经常出现处理大量单个任务处理的时间很短而请求的数目却是巨大的请求. 构建服务器应用程序的一个过于简单的模型应该是:每当一个请求到达就创建一个新线程,然后在新线程中为请求服务. 实际上,对于原型开发这种方法工作得很好,但如果试图部署以这种方式运行的服务器应用程序,那么这种方法的严重不足就很明显.

Java中定时器

- - BlogJava-首页技术区
对于开发游戏项目的同胞来说,Timer 这个东西肯定不会陌生,今天放假闲来无事,对以前自己经常使用的定时进行了一番小小的总结. 没有写具体实现的原理,只是列举出了其中的四种比较常见的使用方法,相对而言,所以只要按照其所列举的例子仿照即可.     // 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time).

Spring定时器StopWatch

- - 编程语言 - ITeye博客
简单总结一句,Spring提供的计时器StopWatch对于秒、毫秒为单位方便计时的程序,尤其是单线程、顺序执行程序的时间特性的统计输出支持比较好. 也就是说假如我们手里面有几个在顺序上前后执行的几个任务,而且我们比较关心几个任务分别执行的时间占用状况,希望能够形成一个不太复杂的日志输出,StopWatch提供了这样的功能.

Spring提供的线程池支持

- - 博客园_首页
核心提示:一旦企业应用越来越复杂时(比如,基于流程服务器的EIS),它们对相关技术也提出了更高的要求. 在使用 EJB 3.0组件技术开发企业应用过程中,它们能够享受到EJB容器提供的线程池、任务调度(@Timeout)服务. 现如今,运行于Web容器的Web应用、单独的桌面应用. 一旦企业应用越来越复杂时(比如,基于流程服务器的EIS),它们对相关技术也提出了更高的要求.