首页 > 其他分享 >TimerTask 定时任务

TimerTask 定时任务

时间:2024-06-12 14:56:53浏览次数:16  
标签:Timer 任务 new TimerTask 定时 执行

定时任务就是在指定时间执行程序,或周期性执行计划任务。Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求。

一、Timer和TimerTask
  Timer和TimerTask可以作为线程实现的常见方式,JDK1.5之后定时任务推荐使用ScheduledThreadPoolExecutor。

1、快速入门
  Timer运行在后台,可以执行任务一次,或定期执行任务。TimerTask类继承了Runnable接口,因此具备多线程的能力。一个Timer可以调度任意多个TimerTask,所有任务都存储在一个队列中顺序执行,如果需要多个TimerTask并发执行,则需要创建两个多个Timer。

public class TimerTest { 
 
    //被执行的任务必须继承TimerTask,并且实现run方法
 
    static class MyTimerTask1 extends TimerTask { 
 
        public void run() { 
 
            System.out.println("爆炸!!!"); 
 
        } 
 
    }    
 
    public static void main(String[] args) throws ParseException { 
 
        Timer timer = new Timer(); 
 
        //1、设定两秒后执行任务
 
        //timer.scheduleAtFixedRate(new MyTimerTask1(), 2000,1000);
 
        //2、设定任务在执行时间执行,本例设定时间13:57:00
 
        SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 
 
        Date time = dateFormatter.parse("2023/02/11 14:40:00"); 
 
        timer.schedule(new MyTimerTask1(), time);
 
    } 
 
}

2、schedule使用方法
  schedule(TimerTask task, long delay, long period) --指定任务执行延迟时间

  schedule(TimerTask task, Date time, long period) --指定任务执行时刻

标签:Timer,任务,new,TimerTask,定时,执行
From: https://www.cnblogs.com/pao1pao/p/18243930

相关文章

  • 封闭开发任务的天堂
    这样的场景是不是很熟悉,繁重而紧急的任务,一个非A即B的竞争,Deadline临近确没有思路,十几个人挤在会议室工作加地铺,浑浊的空气,紧张的情绪,拥挤的空间,大脑烧到缺氧,还时不时的被其他人打扰。如果上面的痛点你正在或者曾经经历,那么,现在有个选择(谁说的:选择大于努力),一个专门接待集中开......
  • 前端菜鸡流水账日记 -- setTimeout定时器
    中午好哇,一上午的时间过的真快,这都快要吃午饭啦,突击询问有想好吃什么吗???当然,这不是重点,重点是我今天要说的这个定时器,以及和他搭配的取消定时器,话不多说,开始我们的新内容setTimeout都不陌生就是定时器,他可以这样用setTimeout(()=>{dealData.forEach(e=>{if(aw......
  • windows系统下,每天定时做mysql数据库备份
    一.备份数据库命令 格式化当前日期setTIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2% 将现在的日期格式化为yyyyMMdd  备份mysql指定数据库mysqldump-uroot-p123456dbname>"E:\DBbackups\mydb_%TIMESTAMP%.sql" -uroot:root是用户名 -p123456:123456是数据库......
  • 自动化执行任务的脚本代码分享!
    在当今信息化社会,自动化执行任务的脚本代码已经成为提高工作效率、减少人工错误的重要工具。无论是数据处理、文件操作,还是网络请求、系统监控,脚本代码都能帮助我们实现自动化操作,从而释放人力,让我们有更多时间专注于创新和思考。一、批量重命名文件的Python脚本在文件管理......
  • 任务下发优化分析过程记录
    任务下发优化分析过程记录背景最近接手了一个任务下发平台,基本功能是接收任务脚本,下发给目标服务器执行.简化的业务流程如下:sequenceDiagramautonumberparticipantclientparticipantserverparticipantDBparticipantMQparticipanttargetclient->>+server:......
  • windows计划任务的“等待空闲时间”已弃用
    想使用windows的计划任务来实现:当计算机空闲时,自动关机,避免资源浪费。方案一:测试了过多个软件,如shutter,WinOFFSetup,虽然功能多,但这些软件只能在用户登录时运行。而windows11一段时间后会自动注销,查了多种设置方法没有解决。方案二:用AI写了检测用户空闲时间的小程序,功能正常,但......
  • Java实现定时任务的几种方式 ---------内附源码
      在我们日常项目开发过程中,经常用到定时任务,如果使用不当甚至会造成资源损毁,定时任务使用不当,会导致发出大量重复操作,可能会造成巨大的后果。  所以,系统的学习一下定时任务,是非常有必要的。这篇文章就带大家整体梳理学习一下Java领域中常见的几种定时任务实现。 ......
  • 在Linux中,如何进行调度任务?什么是 crontab 并解释 crontab 中的字段?
    在Linux中,调度任务通常指的是在预定的时间自动执行脚本或命令。cron(cronjob)是一种常用的任务调度工具,它按照设定的时间表周期性地执行任务。1.什么是crontab?crontab是一个配置文件,它包含了一个或多个cron任务的列表。每个任务都有一个特定的时间表,定义了任务何时执行。cro......
  • 关于如何设置 TMOD (定时/计数 高低 共 8 位 寄存器)
    TMOD寄存器简介TMOD是8051单片机的定时器模式寄存器。它是一个8位寄存器,用于配置定时器/计数器的工作模式。TMOD的每一位有特定的含义。TMOD的结构如下:GATE|C/T|M1|M0|GATE|C/T|M1|M07|6|5|4|3|2|1|0GATE(位7和......
  • 全网最全!解决VirtualBox或VMware启动虚拟机时报错问题“不能为虚拟电脑打开一个新任务
    我自己下载并配置完VritualBox和OpenEuler之后帮助了几个朋友和我的室友在她们的电脑上下载安装时出现了不同的问题,下面我将简单解释一下如何解决配置时出现的两个无法启动虚拟器的问题。目录问题:“不能为虚拟电脑XX打开一个新任务”和“ErrorInsuplibOslnit”解决方法:1......