码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java Timer使用介绍


    🚀 优质资源分享 🚀

    学习路线指引(点击解锁) 知识定位 人群定位
    🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
    💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

    java.util包下提供了对定时任务的支持,涉及2个类:

    1. Timer:定时器类
    2. TimerTask:任务抽象类

    使用该定时任务我们需要继承TimerTask抽象类,覆盖run方法编写任务执行代码,并利用Timer定时器对TimerTask进行调度。

    编写一个任务:

    TimerTask task = new TimerTask() {
        @Override
        public void run() {
            System.out.println(DateUtil.formatNow() + " " + Thread.currentThread().getName() + " task run ");
        }
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    接着使用Timer对TimerTask进行调度,Timer提供了多种方法,可分为一次性任务和可重复执行任务。

    一、一次性任务

    一次性任务是指Timer执行一次之后,该任务后续不再执行。

    一次性任务包括2个方法,如下:

    1. void schedule(TimerTask task, long delay):延迟delay毫秒后执行一次task
    2. void schedule(TimerTask task, Date time):在指定时间time执行一次task,如果time过期,将会立即执行

    二、可重复执行任务

    可重复执行任务是指,任务允许按照设定的规则重复执行。

    可重复执行任务共有4个方法,分为 固定延时 schedule和固定速率 scheduleAtFixedRate:

    1. void schedule(TimerTask task, long delay, long period):延迟delay毫秒后执行task,之后每隔period毫秒执行一次task
    2. void schedule(TimerTask task, Date firstTime, long period):在指定时间time执行一次task,之后每隔period毫秒执行一次task
    3. void scheduleAtFixedRate(TimerTask task, long delay, long period):延迟delay毫秒后执行task,之后每隔period毫秒执行一次task
    4. void scheduleAtFixedRate(TimerTask task, Date firstTime, long period):在指定时间time执行一次task,之后每隔period毫秒执行一次task

    示例1:schedule方法,延迟delay毫秒后执行task,之后每隔period毫秒执行一次task

    System.out.println("启动于:" + DateUtil.formatNow());
    Timer timer = new Timer("timer");
    timer.schedule(task, 1000, 2000);
    
    • 1
    • 2
    • 3

    输

  • 相关阅读:
    安卓中轻量级数据存储方案分析探讨
    YOLOv7 PyQt5 | 手把手教你YOLOv7添加PyQt页面
    第14讲:DCL类型的SQL语句之用户管理
    【面试刷题】——函数指针和指针函数
    JAVA高级教程-Java Map(6)
    1157:哥德巴赫猜想
    生产者消费者问题实践(头歌实验)第1关:生产者消费者问题实践,第2关:进程互斥和同步。
    在Java中,/ 是除法运算符
    Python 变量类型
    命令模式,命令 Command 类对象的设计(设计模式与开发实践 P9)
  • 原文地址:https://blog.csdn.net/qq_43479892/article/details/127644438
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号