java Thread.sleep()实现定时任务

实现代码很简单,在Thread内不断循环执行任务,通过Thread.sleep()控制时间间隔

另外用一个boolean变量来控制定时任务的开始和停止。

private boolean run;
// 开启定时器
private void startTask() {
    // 任务执行中,直接返回
    if (run) {
        return;
    }
    run = true;
    new Thread(new Runnable() {
        @Override
        public void run() {
            while (run) {
                Log.d("Timer", "do something...");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }).start();
}

// 停止定时器
private void stopTask() {
    run = false;
}

 

posted @ 2019-12-26 14:05  野猿新一  阅读(41)  评论(0编辑  收藏  举报