安卓Timer+TimeTask实现定时器任务

1.Timer().schedule创建任务:基于封装类Timer

<1>常见格式为new Timer(String name.boolean isDaemon).schedule(new TimeTask(){}…)

(1)Timer为定时器 TimeTask为Runnable
(2)每个Timer都有一个TaskQuene和TimerThread
Timer负责生产定时任务放在TaskQuene中,TimerThread不停的监听TaskQuene,如果里面有任务,则执行第一个,并将其删除 【生产者消费者模式】
(3)new Timer(“A”,false) 第一个参数为定时器名称 第二个参数为是否是守护线程
(4)A\B\C\D为计时器的四种常规实现方法,\E\F为补充方法
<2>实现方法A
new Timer("A",false).schedule(new TimerTask() {
          @Override
          public void run() {
              count++;
              Log.d("177777","new Timer(A) 首次延迟5s执行,每隔1s执行一次"+count);
          }
      },5000,1000);
<2>实现方法B
new Timer("B",false).schedule(new TimerTask() {
          @Override
          public void run() {
              Log.d("177777","new Timer(B) 延迟1s执行");
          }
      },1000);
<3>实现方法C
 final SimpleDateFormat sdf = new SimpleDateFormat("2022-11-27 '12:25:55'");
        Date time = null;
        try {
            time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));
        } catch (ParseException e) {
            e.printStackTrace();
        }

        new Timer("C",false).schedule(new TimerTask() {
            @Override
            public void run() {
                Log.d("177777","C任务在2022年11月27日12点25分55秒执行一次");
            }
        },time);
<4>实现方法D
new Timer("D",false).schedule(new TimerTask() {
            @Override
            public void run() {
               Log.d("177777","D任务在2022年11月27日12点25分55秒执行一次,之后每隔1s执行一次");
            }
        },time,1000);
<5>实现方法E
 new Timer("E").scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                Log.d("177777","E任务首次5秒之后执行一次任务,之后每隔1s执行一次");
            }
        },5000,1000);
<6>实现方法F
 new Timer("F").scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                Log.d("177777","F任务在2022年11月27日12点25分55秒执行一次,之后每隔1s执行一次");
            }
        },time,1000);

转载请注明出处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值