我想我不完全了解Timer和TimerTask在Java和Android中的工作方式。现在,我定义了许多定期任务,这些任务要在计时器中安排。
我想知道我应该使用单个计时器来安排任务,还是为每个任务使用不同的计时器实例?计时器有自己的线程吗?预定任务是否在新线程中执行?后台发生了什么?
这些方法之间有什么区别?
方法1的样例代码:
private void initTasks() {
TimerTask task1 = new MyTimerTask1();
TimerTask task2 = new MyTimerTask2();
TimerTask task3 = new MyTimerTask3();
Timer timer = new Timer();
timer.schedule(task1, 0, TASK1_PERIOD);
timer.schedule(task2, 0, TASK2_PERIOD);
timer.schedule(task3, 0, TASK3_PERIOD);
}
class MyTimerTask1 extends TimerTask {
public void run() {
//do task1
}
}
class MyTimerTask2 extends TimerTask {
public void run() {
//do task2
}
}
class MyTimerTask3 extends TimerTask {
public void run() {
//do …Run Code Online (Sandbox Code Playgroud)