Java中的定时器

注意:内容来自网络他人文章,特此声明

一.Java中的定时器

  在JAVA中实现定时器功能要用的2个重要类是

  • Timer类:定时器类,需要一个TimerTask类的实例作为参数;
  • TimerTask:定时器任务类,定时器要执行的任务在该类的run方法中定义。

二.实现定时器的两种写法

  1.普通实现(相对于通过内部类来实现而言)

 1 //先写一个类
 2 public class TimeTest {
 3 public static void main(String[] args) {
 4
 5      Timer timer = new Timer();
 6      timer.schedule(new MyTask(),1000,2000);
 7 }
 8
 9 //然后再写个类
10 public class MyTask  extends TimerTask{
11
12     @Override
13     public void run() {
14      System.out.println("开始运行");
15     }
16 }

  2.通过内部类实现

  

 1 package com.lid;
 2
 3 import java.util.Calendar;
 4 import java.util.Date;
 5 import java.util.Timer;
 6 import java.util.TimerTask;
 7
 8 public class Test {
 9     public static void main(String[] args) {
10         //timer1();
11         timer2();
12         //timer3();
13         //timer4();
14     }
15
16     // 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time)
17     public static void timer1() {
18         Timer timer = new Timer();
19         timer.schedule(new TimerTask() {
20             public void run() {
21                 System.out.println("-------设定要指定任务--------");
22             }
23         }, 2000);// 设定指定的时间time,此处为2000毫秒
24     }
25
26     // 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行
27     // schedule(TimerTask task, long delay, long period)
28     public static void timer2() {
29         Timer timer = new Timer();
30         timer.schedule(new TimerTask() {
31             public void run() {
32                 System.out.println("-------设定要指定任务--------");
33             }
34         }, 1000, 1000);
35     }
36
37     // 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。
38     // scheduleAtFixedRate(TimerTask task, long delay, long period)
39     public static void timer3() {
40         Timer timer = new Timer();
41         timer.scheduleAtFixedRate(new TimerTask() {
42             public void run() {
43                 System.out.println("-------设定要指定任务--------");
44             }
45         }, 1000, 2000);
46     }
47
48     // 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行.
49     // Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
50     public static void timer4() {
51         Calendar calendar = Calendar.getInstance();
52         calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制时
53         calendar.set(Calendar.MINUTE, 0);       // 控制分
54         calendar.set(Calendar.SECOND, 0);       // 控制秒
55
56         Date time = calendar.getTime();         // 得出执行任务的时间,此处为今天的12:00:00
57
58         Timer timer = new Timer();
59         timer.scheduleAtFixedRate(new TimerTask() {
60             public void run() {
61                 System.out.println("-------设定要指定任务--------");
62             }
63         }, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行
64     }
65 }
时间: 2024-10-19 14:57:21

Java中的定时器的相关文章

JAVA中一些定时器的使用

一:简单说明 ScheduleExecutorService接口中有四个重要的方法,其中scheduleAtFixedRate和scheduleWithFixedDelay在实现定时程序时比较方便. 下面是该接口的原型定义 java.util.concurrent.ScheduleExecutorService extends ExecutorService extends Executor 接口scheduleAtFixedRate原型定义及参数说明 [java] view plain cop

Java中的定时器Timer

java.util.Timer是一个实用工具类,该类用来调度一个线程,使它可以在将来某一时刻执行. Java的Timer类可以调度一个任务运行一次,或定期运行. java.util.TimerTask是一个抽象类,它实现了Runnable接口.我们需要扩展该类以便创建自己的TimerTask,这个TimerTask内部使用java Timer类,可以被调度. Timer类是线程安全的,多进程不需要外部同步机制就可以共享同一个Timer对象.Timer类使用java.util.TaskQueue在

java中的定时器——Timer

一.类概述 Timer是一种定时器工具,用来在一个后台线程计划执行指定任务.它可以计划执行一个任务一次或反复多次. TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务. 二.代码实例 import java.util.Timer; import java.util.TimerTask; public class Reminder ...{ Timer timer; public Reminder(int seconds) ...{ timer = new Timer();

java中定时器的应用实例

1 package com.xiangshang.listener; 2 3 import java.util.Timer; 4 import java.util.TimerTask; 5 6 import javax.servlet.ServletContextEvent; 7 import javax.servlet.ServletContextListener; 8 9 public class MyTimerListener implements ServletContextListen

Android中实现定时器的3中方法

在Android开发中,定时器一般有以下3种实现方法: 一.采用Handler与线程的sleep(long)方法: 二.采用Handler的postDelayed(Runnable, long)方法: 三.采用Handler与timer及TimerTask结合的方法: 一.采用Handle与线程的sleep(long)方法 Handler主要用来处理接受到的消息.这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释. 1. 定义一个Handler类

Android中的定时器AlarmManager

在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent.简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent,常用方法有五个: (1)set(int type,long startTime,PendingIntent pi): 该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表

定时任务:Java中Timer和TimerTask的使用

java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建. 一个完整的Timer: Java代码   java.util.Timer timer = new java.util.Timer(true); // true 说明这个timer以daemon方式运行(优先级低, // 程序结束timer也自动结束),注意,java

java中实现定时功能

网上资料: 我们可以使用Timer和TimerTask类在java中实现定时任务,详细说明如下: 1.基础知识java.util.Timer一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步.java.util.TimerTask由 Timer 安排为一次执行或重复执行的任务. 2.示例代码该示例实现这样一个功能,在系统运行期间,每30分钟,系统自动检查连接池中的可用连接数,并输出到日

java中JOB介绍与Spring中JOB的配置

2013-09-05 15:30:54| 分类: 默认分类 |举报|字号 订阅1定时器的作用 在实际的开发中,如果项目中需要定时执行或者需要重复执行一定的工作,定时器显现的尤为重要. 当然如果我们不了解定时器就会用线程去实现,例如: package org.lzstone.action public class FinanceAction extends Thread{ private Date date; public void run{ try{ while(true){ Thread.sl