(API曰)public class
Timer
extends
Object 线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。
用于顺序地执行所有计时器任务。计时器任务应该迅速完成。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程。因此,这就可能延迟后续任务的执行,而这些任务就可能“堆在一起”,并且在上述不友好的任务最终完成时才能够被快速连续地执行。
简单例子:
import
java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class TestTimer {
public static void start() {
initTimer();
}
public static void initTimer() {
Timer t = new Timer(); // 创建Timer对象
TimerTask tt = new TimerTask() {
public void run() {
System.out.println( " now time is " + new Date());
}
};//创建TimerTask对象,Timer对象会调用TimerTask的run()方法
t.schedule(tt, 0 , 3000 );
while ( true ) { // 这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if (ch - ' c ' == 0 ) {
t.cancel(); // 使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
start();
}
}
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class TestTimer {
public static void start() {
initTimer();
}
public static void initTimer() {
Timer t = new Timer(); // 创建Timer对象
TimerTask tt = new TimerTask() {
public void run() {
System.out.println( " now time is " + new Date());
}
};//创建TimerTask对象,Timer对象会调用TimerTask的run()方法
t.schedule(tt, 0 , 3000 );
while ( true ) { // 这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if (ch - ' c ' == 0 ) {
t.cancel(); // 使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
start();
}
}