当前位置: 技术问答>java相关
java.util中的Timer和TimerTask类
来源: 互联网 发布时间:2015-04-08
本文导语: 从下面的程序和API的文档中,我似乎觉得Timer对象和TimerTask对象都是线程,而且Timer对象是后台执行的线程,它起调度TimerTask对象的职能,如下图所示。 import java.util.Timer; import java.util.TimerTask; /** * Simple demo that ...
从下面的程序和API的文档中,我似乎觉得Timer对象和TimerTask对象都是线程,而且Timer对象是后台执行的线程,它起调度TimerTask对象的职能,如下图所示。
import java.util.Timer;
import java.util.TimerTask;
/**
* Simple demo that uses java.util.Timer to schedule a task to execute
* once 5 seconds have passed.
*/
public class Reminder {
Timer timer;
public Reminder(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);
}
class RemindTask extends TimerTask {
public void run() {
System.out.println("Time's up!");
timer.cancel(); //Terminate the timer thread
}
}
public static void main(String args[]) {
System.out.println("About to schedule task.");
new Reminder(5);
System.out.println("Task scheduled.");
}
}
timer (thread 1)
|
------------------> timer task (thread 2)
|
------------------> timer task (thread 3)
|
------------------> timer task (thread 4)
我的理解对吗?如果有错,请各位大侠帮我解疑释惑(小弟初学Java的多线程编程),万分感谢!
import java.util.Timer;
import java.util.TimerTask;
/**
* Simple demo that uses java.util.Timer to schedule a task to execute
* once 5 seconds have passed.
*/
public class Reminder {
Timer timer;
public Reminder(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);
}
class RemindTask extends TimerTask {
public void run() {
System.out.println("Time's up!");
timer.cancel(); //Terminate the timer thread
}
}
public static void main(String args[]) {
System.out.println("About to schedule task.");
new Reminder(5);
System.out.println("Task scheduled.");
}
}
timer (thread 1)
|
------------------> timer task (thread 2)
|
------------------> timer task (thread 3)
|
------------------> timer task (thread 4)
我的理解对吗?如果有错,请各位大侠帮我解疑释惑(小弟初学Java的多线程编程),万分感谢!
|
我的理解:
Timer恐怕不是线程,只是定义了TimerTask的一些特性,并可以对其控制。
而TimerTask实现了Runnable,具有线程能力。(同为初学者)
Timer恐怕不是线程,只是定义了TimerTask的一些特性,并可以对其控制。
而TimerTask实现了Runnable,具有线程能力。(同为初学者)
|
guanzhu