`
tomcat_oracle
  • 浏览: 316897 次
社区版块
存档分类
最新评论

java定时任务类Timer和TimerTask用法

    博客分类:
  • Java
阅读更多

 java定时任务类Timer和TimerTask用法详解

/*
* 本类给出了使用Timer和TimerTaske的主要方法,其中包括定制任务,添加任务
* 退出任务,退出定时器.
* 因为TimerTask的status域是包级可访问的,所以没有办法在java.util.包外
* 得到其状态,这对编程造成一些不便 .我们不能判断某个Task的状态了.
*/
public class TimerTest {
public static void main(String[] args) {
Timer timer = new Timer();
MyTask myTask1 = new MyTask();
MyTask myTask2 = new MyTask();
myTask2.setInfo("myTask-2");
timer.schedule(myTask1, 1000, 2000);
timer.scheduleAtFixedRate(myTask2, 2000, 3000);
while (true) {
try {
byte[] info = new byte[1024];
int len = System.in.read(info);
// 通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。
String strInfo = new String(info, 0, len, "GBK");//从控制台读出信息
if (strInfo.charAt(strInfo.length() - 1) == ' ') {
strInfo = strInfo.substring(0, strInfo.length() - 2);
//                    System.out.println(strInfo+"1");
}
if (strInfo.startsWith("Cancel-1")) {
myTask1.cancel();//退出单个任务
// 其实应该在这里判断myTask2是否也退出了,是的话就应该break.但是因为无法在包外得到
// myTask2的状态,所以,这里不能做出是否退出循环的判断.
} else if (strInfo.startsWith("Cancel-2")) {
myTask2.cancel();
} else if (strInfo.startsWith("Cancel-All")) {
timer.cancel();//退出Timer
break;
} else {
// 只对myTask1作出判断,偷个懒^_^
myTask1.setInfo(strInfo);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask {
String info = "^_^";
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(info);
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}
}

 

5
0
分享到:
评论
1 楼 bit1129 2014-07-26  
Timer and TimerTask are too old tools for this kind of tasks.

相关推荐

    Timer和TimerTask的使用

    `Timer` 和 `TimerTask` 是Java中用于实现定时任务的重要工具。它们提供了一种简单有效的方式来安排任务的执行,既可以一次性执行也可以周期性地执行。这对于实现定时提醒、定时备份等功能非常有用。 #### 二、...

    几种定时任务(Timer、TimerTask、ScheduledFuture)的退出—结合真实案例【JAVA并发】.docx

    总结来说,Java提供了多种方式来实现定时任务的退出,包括TimerTask的cancel()方法、Timer的cancel()方法以及ScheduledFuture的cancel()方法。选择哪种方式取决于具体的需求,如任务类型、是否需要立即停止正在执行...

    java定时任务,每天定时执行任务

    Java 定时任务是指在 Java 语言中实现的定时执行任务的机制,通过使用 Timer 和 TimerTask 两个类,可以实现定时执行任务的功能。在这个例子中,我们将实现每天定时执行任务的功能,具体来说,就是在每天的凌晨 2 点...

    Java中的Timer和TimerTask的使用.doc

    总之,`Java`的`Timer`和`TimerTask`是实现定时任务和计划编程的强大工具,它们适用于需要定期执行操作的场景,如心跳检查、定时数据同步等。正确理解和使用这两个类可以帮助开发者更有效地管理异步任务和系统调度。

    java类Timer和TimerTask的使用.pdf

    Java中的`Timer`和`TimerTask`类是用于创建和管理定时任务的工具,它们提供了在特定时间点或按照预设间隔执行任务的功能。这两个类是Java标准库`java.util`包的一部分,对于需要定时执行操作的应用场景非常有用。 `...

    java定时任务调度之Timer 简单示例

    Java定时任务调度是Java应用程序中常见的一种功能,用于在特定时间执行特定任务,例如定期备份、数据清理等。`Timer`类是Java中用于实现定时任务调度的一个基础工具,它位于`java.util`包中。在本文中,我们将深入...

    java定时任务Timer和TimerTask使用详解

    总结起来,`Timer` 和 `TimerTask` 提供了一种简单的方式在Java中实现定时任务,无论是单次执行还是周期性执行,都能方便地进行调度。但需要注意的是,由于 `Timer` 是基于单线程模型的,如果一个 `TimerTask` 执行...

    TimerTask执行每日定时任务

    在Java编程语言中,`TimerTask`和`Timer`是两个关键类,它们用于实现定时任务的调度。这两个类属于`java.util`包,为开发者提供了执行周期性或一次性任务的能力。下面我们将深入探讨如何利用`TimerTask`执行每日定时...

    java定时任务

    "java定时任务" java定时任务是指在...java定时任务可以使用多种方式来实现,包括使用Timer和TimerTask类、使用Thread类的sleep方法、使用ScheduledExecutorService类等。选择哪种方式取决于具体的应用场景和需求。

    JavaTimer和TimerTask实例教程Java开发

    在Java编程语言中,`Timer`和`TimerTask`是两个重要的类,它们用于调度周期性的任务执行。这两个类属于`java.util`包,提供了在后台线程中延迟执行任务或者定期执行任务的能力,这对于创建定时任务或者实现定时器...

    java轻松实现—定时任务

    在Java中,我们可以利用`java.util.Timer`类和`java.util.TimerTask`类来实现简单的定时任务,但这种实现方式存在线程安全问题。在Web应用中,我们可以利用Servlet容器提供的特性来更优雅地处理定时任务,这就是描述...

    Web中使用Timer和TimerTask定时获取数据。

    Java中的`java.util.Timer`和`java.util.TimerTask`类提供了这样的功能,让我们能够在程序中实现定时任务。本文将深入探讨这两个类的工作原理和如何在Web环境中使用它们。 `Timer`类是Java的一个调度工具,它允许...

    java定时任务的实现方式

    总结来说,Java定时任务的实现主要有两种常见途径:一是使用Java自带的`Timer`类,适合简单的定时需求,但不适用于复杂的调度场景;二是借助第三方库如Quartz,提供了更强大的任务调度能力,可以满足复杂的企业级...

    JAVA定时器之Timer+TimerTask

    在Java编程语言中,`Timer`和`TimerTask`是两个关键类,它们构成了Java的定时执行机制。这两个类在处理周期性任务或者延迟任务时非常有用,它们可以帮助开发者实现程序在特定时间点或者按照一定间隔执行特定操作的...

    java定时任务小例子

    在这个“java定时任务小例子”中,我们可以看到两个关键文件:`TimerTest.java`和`DoTask.java`,它们分别代表了定时器的任务调度和实际执行任务的组件。 首先,我们来看`TimerTest.java`。这个文件很可能是整个...

    java.util.timer实现的简单定时任务

    本篇文章将深入探讨如何使用Timer和TimerTask来实现简单的定时任务。 首先,`java.util.Timer`是一个线程类,它维护了一个调度队列,用于存储将要执行的任务。当我们创建一个Timer对象时,实际上启动了一个后台线程...

    Java定时执行某个任务

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

    java定时任务调度

    Java定时任务调度是Java开发中常见的一种功能,用于在特定时间执行特定的任务,例如数据同步、日志清理、报表生成等。在Java中,有多种实现定时任务调度的方式,包括但不限于Java内置的`java.util.Timer`类、Spring...

    使用Timer和TimerTask实现周期任务

    在这种情况下,`java.util.Timer` 和 `java.util.TimerTask` 类提供了非常有用的机制来实现周期性任务。本文将深入探讨这两个类的使用方法及其相关知识点。 首先,`Timer` 类是一个线程类,它负责调度任务的执行。...

Global site tag (gtag.js) - Google Analytics