码农知识堂 - 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

    输

  • 相关阅读:
    Springboot之SpringMVC与MyBatis(二)异步迭代商品管理
    【读书笔记】《我在北京送快递》——记录的意义
    项目一:使用 Spring + SpringMVC + Mybatis + lombok 实现网络五子棋
    Java实现更新excel文件内容
    隆云通土壤二氧化碳传感器
    Pixel 设备刷入自编译AOSP系统
    C++项目实战——基于多设计模式下的同步&异步日志系统(总集篇)
    Cocos2d Opengl2.1 升级到 opengl3.3
    【从零到一的Raspberry】数莓派踩坑实录(二) 内核编译配置和模块安装
    Some Multicast Commands on Huawei SW
  • 原文地址:https://blog.csdn.net/qq_43479892/article/details/127644438
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号