小编Saf*_*dir的帖子

在Android中使用单个计时器与多个计时器来调度TimerTask

我想我不完全了解TimerTimerTask在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)

java multithreading android timer timertask

2
推荐指数
1
解决办法
5868
查看次数

标签 统计

android ×1

java ×1

multithreading ×1

timer ×1

timertask ×1