Java定时器Timer的使用

news2024/9/19 9:11:18

一、Timer常用方法

Timer应用场景:

1、每隔一段时间执行指定的代码逻辑(即按周期执行任务)

2、指定时间执行指定的代码逻辑

为方便测试并查看运行效果,首先先建一个类并继承TimerTask,代码如下:

package timerTest;

import java.util.Date;
import java.util.TimerTask;

public class task1 extends TimerTask {
    @Override
    public void run(){
        System.out.println("【任务执行了】任务在"+new Date()+"这个时间点执行!");
    }
}

接着主要说明Timer的几个常用方法。

1、在某个时间点执行一次任务

代码如下:

    public static void main(String args[]){
        task1 myTask1=new task1();
        Timer myTimer=new Timer();

        //获取5秒后的一个时间点:doTime
        Calendar cal=Calendar.getInstance();
        cal.add(Calendar.SECOND,5);
        Date doTime=cal.getTime();

        //在doTime这个时间点执行任务(注意:只执行一次)
        myTimer.schedule(myTask1,doTime);

        System.out.println("现在时间是:"+new Date());
    }

执行结果如下:

2、在某个时间点执行一次任务,接着每隔X秒执行一次任务

代码如下:

    public static void main(String args[]){
        task1 myTask1=new task1();
        Timer myTimer=new Timer();

        //获取5秒后的一个时间点:doTime
        Calendar cal=Calendar.getInstance();
        cal.add(Calendar.SECOND,5);
        Date doTime=cal.getTime();

        //在doTime这个时间点开始执行任务1次,接着每隔3秒执行一次
        myTimer.schedule(myTask1,doTime,3000);

        System.out.println("现在时间是:"+new Date());
    }

执行结果如下:

  

3、在N秒后执行一次任务

代码如下:

    public static void main(String args[]){
        task1 myTask1=new task1();
        Timer myTimer=new Timer();

        //在5秒后执行一次任务(注意:只执行一次)
        myTimer.schedule(myTask1,5000);

        System.out.println("现在时间是:"+new Date());
    }

执行结果如下:

4、在N秒后执行一次任务,接着每隔X秒执行一次任务

代码如下:

    public static void main(String args[]){
        task1 myTask1=new task1();
        Timer myTimer=new Timer();

        //在5秒后执行一次任务,接着每隔2秒执行一次任务
        myTimer.schedule(myTask1,5000,2000);

        System.out.println("现在时间是:"+new Date());
    }

执行结果如下:

二、Timer的多任务模式

待更新。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/393692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[2.1.4]进程管理——进程通信

文章目录第二章 进程管理进程通信(IPC)为什么进程通信需要操作系统支持?(一)共享存储(1)基于存储区的共享(2)基于数据结构的共享(二)消息传递什么…

程序员的逆向思维

前要: 为什么你读不懂面试官提问的真实意图,导致很难把问题回答到面试官心坎上? 为什么在面试结束时,你只知道问薪资待遇,不知道如何高质量反问? 作为一名程序员,思维和技能是我们职场生涯中最重要的两个方面。有时候…

RWEQ模型的土壤风蚀模数估算、其变化归因分析

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2,占国土总面积的16.7%,严重影响这些地区的资源开发和社会经…

使用pprof分析golang内存泄露问题

问题现象 生产环境有个golang应用上线一个月来,占用内存不断增多,约30个G,这个应用的DAU估计最多几十,初步怀疑有内存泄露问题。下面是排查步骤: 分析 内存泄露可能点: goroutine没有释放time.NewTicke…

【前端学习】D2-2:CSS基础

文章目录前言系列文章目录1 Emmet语法1.1 快速生成HTML语法结构1.2 快速生成CSS样式语法1.3 快速格式化代码2 CSS复合选择器2.1 什么是复合选择器2.2 后代选择器(*)2.3 子选择器2.4 并集选择器(*)2.5 伪类选择器2.6 链接伪类选择器…

企业文件数据泄露防护(DLP)

什么是数据丢失防护 数据丢失防护 (DLP) 是保护数据不落入坏人之手的做法。如今,数据传输的主要问题是使大量数据容易受到未经授权的传输。通过设置足够的安全边界,您可以控制数据在网络中的移动。由于您的数据非常有价值&#x…

Java方法的使用

目录 一、方法的概念及使用 1、什么是方法(method) 2、方法定义 3、方法调用的执行过程 4、实参和形参的关系 二、方法重载 1、为什么需要方法重载 2、方法重载概念 3、方法签名 三、递归 1、递归的概念 2、递归执行过程分析 一、方法的概念及使用 1、什么是方法(met…

MySQL 字符串函数

点击上方蓝字关注我平生文字为吾累,此去声名不厌低。 寒上纵归他日马,城中不斗少年鸡。MySQL提供了许多常用的字符串函数,以下是其中一些常用的字符串函数和用法:CONCATCONCAT函数用于连接两个或多个字符串。以下是一个示例&#…

MGAT: Multimodal Graph Attention Network for Recommendation

模型总览如下: 图1:多模态图注意力网络背景:本论文是对MMGCN(Wei et al., 2019)的改进。MMGCN简单地在并行交互图上使用GNN,平等地对待从所有邻居传播的信息,无法自适应地捕获用户偏好。 MMGCN…

Qt学习5-Qt Creator文件操作(哔站视频学习记录)

实现文件编辑器代码 目录 一、代码要点 二、重点函数 1、conncet 2、getOpenFileName 3、getSaveFileName 4、读取文件到textEdit 5、textEdit保存到文件 三、全部代码 mainwindow.h mainwindow.cpp 一、代码要点 MainWindow的菜单栏实现;connect函数连接…

【Linux】理解Linux环境变量

🍎作者:阿润菜菜 📖专栏:Linux系统编程 初识环境变量 什么是环境变量 我们平常所用的Linux指令其实也是可执行程序,和我们自己写的二进制程序没什么两样,那么为什么我们在执行自己的程序的时候需要加上 ./…

基于 OpenCV 与 Java 两个语言版本实现获取某一图片特定区域的颜色对比度

本文目录一、什么是对比度二、什么是颜色直方图三、如何通过RGB计算颜色对比度什么是HSV、Lab颜色空间四、OpenCV代码五、Java代码5.1 平滑处理5.2 完整代码一、什么是对比度 对比度是指图像中不同区域之间的明暗差异程度,它是图像质量中的重要指标之一。除了颜色对…

java的Map集合说明及方法demo示例

一、Map集合的特点:Map集合的特点:1.Map是一个双列集合,一个元素包含两个值(一个key,一个value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不同3.Map中的元素&#xff…

概率论小课堂:泊松分布(完善你对随机性的认识,特别是对风险防范的认识)

文章目录 引言I 泊松分布1.1 概率计算公式1.2 应对随机性,需要的冗余比平均值要大1.3 池子越大,越能抵消随机性带来的误差引言 伯努利试验:解释了随机事件的发生概率在理论和现实中的差距泊松分布:进一步完善你对随机性的认识,特别是对风险防范的认识。另一类特殊的伯努利…

11.Maxwell 部署

Maxwell 部署 一、环境准备 1、确保服务器上已经安装好了zookeeper、kafka、MySQL软件; (1)启动zookeeper: /usr/app/zookeeper3.4/bin/zkServer.sh start(2)启动三台主题的kafka 启动:bin/kafka-serv…

js求解《初级算法》141. 环形链表

一、题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置…

Apollo控制部分2-- ControllerAgent 控制器管理

Apollo控制部分2-- ControllerAgent 控制器管理摘要一、预备知识1、控制模块预备知识2、多态二、控制器管理解析1、初始化函数(配置文件参数决定控制器)1)配置文件:"/apollo/modules/control/conf/control_conf.pb.txt"…

借助Spire.PDF,这家企业低成本实现在线文档签名和量打印

“公司主要是做跨国运输业务的,我们的客户在邮寄过程中需要提交和下载的确认材料非常多,这些材料大多需要客户分别下载后再手写签字确认上传,这导致我们订单操作效率非常低,还容易导致系统卡顿,我们一直在寻找合性能稳…

【C++】BloomFilter——布隆过滤器

文章目录一、布隆过滤器概念二、布隆过滤器应用三、布隆过滤器实现1.插入2.查找3.删除四、布隆过滤器优缺五、结语一、布隆过滤器概念 布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的 一种紧凑型的、比较巧妙的概率型数据结构,特点是…

从互联网科技到手机厂商,谁能扮演好孩子们的“辅导老师”?

【潮汐商业评论/ 原创】“ 没想到现在小孩子的学习机花样这么多,从配置到内容,挑得我是眼花缭乱,跟咱们那会儿一台复读机就能搞定学习完全不一样!”80后的Gavin最近苦于为自己要上小学的孩子选购一台合适的学习机。本想是一件很容…