iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何正确的使用jdk定时器
  • 687
分享到

如何正确的使用jdk定时器

jdk 2023-05-31 11:05:28 687人浏览 八月长安
摘要

本篇文章给大家分享的是有关如何正确的使用jdk定时器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先看一下jdk自带定时器:一种工具,线程用其安排以后在后台线程中执行的任务。

本篇文章给大家分享的是有关如何正确的使用jdk定时器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

首先看一下jdk自带定时器:

一种工具线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。与每个 Timer 对象相对应的是单个后台线程,用于顺序地执行所有计时器任务。计时器任务应该迅速完成。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程。因此,这就可能延迟后续任务的执行,而这些任务就可能“堆在一起”,并且在上述不友好的任务最终完成时才能够被快速连续地执行。

schedule(TimerTask task,long delay) 安排在指定延迟后执行指定的任务。
schedule(TimerTask task,Date time) 安排在指定的时间执行指定的任务。如果此时间已过去,则安排立即执行该任务。
schedule(TimerTask task, long delay, long period) 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟
schedule(TimerTask task,Date firstTime,long period) 安排指定的任务在指定的时间开始进行重复的固定延迟执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟。

package test;import java.text.ParseException;import java.text.SimpleDateFORMat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class JDKTimer {    public static void main(String[] args) throws ParseException {    //日期格式工具    final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        Timer timer = new Timer();    // 10s后执行定时器,仅执行一次    System.out.print(sdf.format(new Date()));    System.out.println("the timer one will be executed after 10 seconds...");    long milliseconds = 10 * 1000;    timer.schedule(new TimerTask() {      @Override      public void run() {        System.out.print(sdf.format(new Date()));        System.out.println("the timer one has finished execution");      }    }, milliseconds);        //12秒后执行定时器,每1s执行一次    System.out.print(sdf.format(new Date()));    System.out.println("the timer two will be executed after 12 seconds...");    //启动后延迟时间    long afterSs = 12 * 1000;    //执行周期    long intervalSs1 = 1 * 1000;    timer.schedule(new TimerTask() {      // 执行计数器      int i = 0;      @Override      public void run() {        System.out.print(sdf.format(new Date()));        System.out.println("the timer two has execution " + (++i) + " timers");        // 执行10次后关闭定时器        if (i == 10) {          this.cancel();        }      }    }, afterSs, intervalSs1);            // 指定时间执行定时器,仅执行一次    System.out.print(sdf.format(new Date()));    System.out.println("the timer three will be executed at 2017-06-27 21:47:00...");    Date date = sdf.parse("2017-06-27 21:47:00");    timer.schedule(new TimerTask() {      @Override      public void run() {        System.out.print(sdf.format(new Date()));        System.out.println("the timer three has finished execution");      }    }, date);        // 从指定时间开始周期性执行    System.out.print(sdf.format(new Date()));    System.out.println("the timer four will be executed at 2017-06-27 21:48:00...");    // 执行间隔周期    long intervalSs = 1 * 1000;    // 开始执行时间    Date beginTime = sdf.parse("2017-06-27 21:48:00");    timer.schedule(new TimerTask() {      // 执行计数器      int i = 0;      @Override      public void run() {        System.out.print(sdf.format(new Date()));        System.out.println("the timer four has execution " + (++i) + " timers");        // 执行10次后关闭定时器        if (i == 10) {          this.cancel();        }      }    }, beginTime, intervalSs);  }}

--结束END--

本文标题: 如何正确的使用jdk定时器

本文链接: https://www.lsjlt.com/news/225129.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何正确的使用jdk定时器
    本篇文章给大家分享的是有关如何正确的使用jdk定时器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先看一下jdk自带定时器:一种工具,线程用其安排以后在后台线程中执行的任务。...
    99+
    2023-05-31
    jdk
  • 如何正确的使用spring定时器
    如何正确的使用spring定时器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。第一种,使用XML配置的方法前期工作,配置spring的开发环境(这里用到了spr...
    99+
    2023-05-31
    spring
  • Java jdk如何正确编译运行
    这篇文章主要介绍“Java jdk如何正确编译运行”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java jdk如何正确编译运行”文章能帮助大家解决问题。一般来说安装完jdk之后,一定要按一下步骤配...
    99+
    2023-06-03
  • 如何正确的使用WeakHashMap
    这篇文章给大家介绍如何正确的使用WeakHashMap,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 在学习WeakHashMap时了解到,如果map里面的key只有map本身引用时,就会将key对应的Entry清除掉...
    99+
    2023-05-30
    weakhashmap
  • 如何正确的使用JDBC
    今天就跟大家聊聊有关 如何正确的使用JDBC,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是JDBCJDBC(Java Database Connectivity),即Java数...
    99+
    2023-05-31
    jdbc jdb
  • 如何正确的使用 jsonpath
    今天就跟大家聊聊有关如何正确的使用 jsonpath,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java项目demo:注意: 其中他的max,min,avg,stddev函数只能类...
    99+
    2023-06-06
  • 如何正确的使用supervisor
    这期内容当中小编将会给大家带来有关如何正确的使用supervisor,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。软硬件环境centos7.6.1810 64bitcat /etc/redhat...
    99+
    2023-06-06
  • 如何正确的使用JAXB
    这期内容当中小编将会给大家带来有关如何正确的使用JAXB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、jaxb是什么     JAXB是Java Archite...
    99+
    2023-05-31
    jaxb
  • 如何正确的使用TypeScript
    如何正确的使用TypeScript,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、TypeScript 是什么TypeScript 是一种由微软开发的自由和开源的编程语言...
    99+
    2023-06-17
  • 如何正确的使用Puppet
    今天就跟大家聊聊有关如何正确的使用Puppet,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到...
    99+
    2023-06-12
  • 如何正确的使用pytest
    本篇文章为大家展示了如何正确的使用pytest,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、安装pytest,打开dos窗口输入:pip install pytest2、通过pycharm工具下...
    99+
    2023-06-07
  • 如何正确的使用CMake
    如何正确的使用CMake?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makef...
    99+
    2023-06-08
  • 如何正确的使用numpy.sum()
    这篇文章给大家介绍如何正确的使用numpy.sum(),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。numpy的sum函数可接受的参数是:sum(a, axis=None, dtype=None,&...
    99+
    2023-06-15
  • 如何正确的使用Gradle
    本篇文章为大家展示了如何正确的使用Gradle,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、Gradle相比Maven的优势配置简洁Maven是用pom.xml管理,引入一个jar包至少5行代码...
    99+
    2023-06-06
  • 如何正确的使用javascript
    本篇文章为大家展示了如何正确的使用javascript,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用javascript的方法:可以用script标签引入<script type...
    99+
    2023-06-14
  • 如何正确的使用springcloud
    这期内容当中小编将会给大家带来有关如何正确的使用springcloud,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、微服务简介 Ⅰ、我对微服务的理解微服务是软件开发的一种架构方式,由单一的应用小程序构...
    99+
    2023-06-14
  • 如何正确的使用ArrayList
    今天就跟大家聊聊有关如何正确的使用ArrayList,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ArrayList简介ArrayList 是一个数组队列,相当于 动态数组。与Jav...
    99+
    2023-05-31
    arraylist
  • 如何正确使用装饰器
    本篇内容主要讲解“如何正确使用装饰器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何正确使用装饰器”吧!一、装饰器的简单定义外层函数返回里层函数的引用,里层函...
    99+
    2024-04-02
  • 如何正确使用@property
    本篇内容主要讲解“如何正确使用@property”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何正确使用@property”吧!他们是这样说的:class People: ...
    99+
    2023-06-15
  • 如何正确使用WideCharToMultiByte
    要正确使用WideCharToMultiByte函数,需要按照以下步骤操作:1. 确定要转换的宽字符编码方式。WideCharToM...
    99+
    2023-09-26
    使用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作