【自用】Kotlin 简单的多个计时器实现,ScheduledExecutorService

scheduleWithFixedDelay(command: Runnable, initialDelay: Long, delay: Long, unit: TimeUnit)

创建并执行一个在给定初始延迟后首次启用的定期操作;
随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。
如果任务的任一执行遇到异常,就会取消后续执行。
否则,只能通过执行程序的取消或终止方法来终止该任务。

参数:

command - 要执行的任务

initialDelay - 首次执行的延迟时间

delay - 循环执行的延迟时间

unit - initialDelay delay 的时间单位

 

TimeUnit 为时间的单位

TimeUnit.MILLISECONDS    //以毫秒为单位
TimeUnit.SECONDS              //以秒为单位

枚举常量:

  • DAYS
  • HOURS
  • MINUTES
  • SECONDS
  • MILLISECONDS
  • MICROSECONDS
  • NANOSECONDS

KOTLIN:

class  Test {

    val sPool = Executors.newScheduledThreadPool(2)!!    //2个线程


    init {
    
        sPool.scheduleWithFixedDelay(taskOne,1000,1000, TimeUnit.MILLISECONDS)
        sPool.scheduleWithFixedDelay(taskTwo,1500,1500, TimeUnit.MILLISECONDS)
    }


    val taskOne = object : TimerTask() {

       override fun run() {
           Log.i("Main", "taskOne")
        }
    }


    val taskTwo = object : TimerTask() {

       override fun run() {
           Log.i("Main", "taskTwo")
        }
    }

 

    PS:自用的  不做解释                        作者:一个吃货帅锅    

 

 

转载于:https://my.oschina.net/kilosnow/blog/917676

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值