Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

8.3. ScheduledExecutorService

		
	private var scheduler: ScheduledExecutorService? = null

    fun timerStart() {

        scheduler = Executors.newSingleThreadScheduledExecutor()

        scheduler?.scheduleWithFixedDelay({
            var time = elapsed(startTime, LocalDateTime.now())
            timerLiveData.postValue(Pair(TIMER.TIMER, time))
        }, 0, 1, TimeUnit.SECONDS)

    }


    fun timerStop() {

        scheduler?.let {
            if (!it.isShutdown) {
                it.shutdown() // 优雅关闭(允许当前任务执行完毕)
                // 可选:如果需要立即终止任务,使用 it.shutdownNow()
            }
        }
        scheduler = null
    }

    fun timerReset() {
        startTime = LocalDateTime.now()
    }