Java延时的3种实现方法举例

 更新时间:2023年07月11日 11:05:12   作者:懒鱼七忆  
这篇文章主要给大家介绍了关于Java延时的3种实现方法举例,java开发中常会用到延时任务,文中通过实例代码介绍的非常详细,对大家的学习具有一定参考借鉴价值,需要的朋友可以参考下

一、Robot,Thread和Timer

import java.awt.AWTException;
import java.awt.Robot;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Text1 {
    public static void main(String[] args) throws AWTException {
        //延时方法一
        Robot robot = new Robot();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
        System.out.println("延时前 :"+dateFormat.format(new Date()));
        robot.delay(2000);
        System.out.println("延时后 :"+dateFormat.format(new Date()));
        //延时方法二
        try {
            Thread.sleep(3000);
            System.out.println("Thread延时后 :"+dateFormat.format(new Date()));
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //延时方法三
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.print("----时间: "+dateFormat.format(new Date()));
                this.cancel();
            }
        }, 2000);
        System.out.print("三秒后打印时间:");
        }
    }

打印:

二、补充:

关于方法二的 this.cancel(); 解释:

取消此计时器任务。如果任务已计划一次执行,但尚未运行,或尚未计划,则它将永远不会运行。如果任务已计划重复执行,则它将永远不会再次运行。(如果此调用发生时任务正在运行,则任务将运行到完成,但不会再次运行。)

请注意,从重复计时器任务的run方法中调用此方法绝对保证计时器任务不会再次运行。

此方法可以重复调用;第二次和随后的呼叫没有效果。

返回:如果此任务计划为一次性执行但尚未运行,或此任务计划重复执行,则返回true。如果任务计划为一次执行且已运行,或任务从未计划,或任务已取消,则返回false。(粗略地说,如果该方法阻止一个或多个计划执行发生,则返回true。)

总结

到此这篇关于Java延时的3种实现方法的文章就介绍到这了,更多相关Java延时方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 亲手带你解决Debug Fastjson的安全漏洞

    亲手带你解决Debug Fastjson的安全漏洞

    这篇文章主要介绍了亲手带你解决Debug Fastjson的安全漏洞,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Eclipse中maven的配置详解

    Eclipse中maven的配置详解

    这篇文章主要介绍了Eclipse中maven的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Spring之IOC详解

    Spring之IOC详解

    本文主要介绍了Spring中的IOC的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • 一小时迅速入门Mybatis之初识篇

    一小时迅速入门Mybatis之初识篇

    这篇文章主要介绍了迅速入门Mybatis之初识篇,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • springmvc实现自定义类型转换器示例

    springmvc实现自定义类型转换器示例

    本篇文章主要介绍了springmvc实现自定义类型转换器示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • SpringBoot缩小打包体积的详细步骤

    SpringBoot缩小打包体积的详细步骤

    缩小打包体积是指通过各种优化手段,减少Spring Boot应用最终部署包(通常是JAR文件)的大小,这在微服务架构 和云原生部署场景中尤为重要,因此本文给大家介绍了SpringBoot缩小打包体积的详细步骤,需要的朋友可以参考下
    2026-03-03
  • 深入理解SpringMVC的参数绑定与数据响应机制

    深入理解SpringMVC的参数绑定与数据响应机制

    本文将深入探讨SpringMVC的参数绑定方式,包括基本类型、对象、集合等类型的绑定方式,以及如何处理参数校验和异常。同时,本文还将介绍SpringMVC的数据响应机制,包括如何返回JSON、XML等格式的数据,以及如何处理文件上传和下载。
    2023-06-06
  • 详解jvm中的标量替换

    详解jvm中的标量替换

    这篇文章主要介绍了详解jvm中的标量替换,帮助大家更好的理解和使用Java虚拟机,感兴趣的朋友可以了解下
    2020-09-09
  • JavaFX桌面应用未响应问题解决方案

    JavaFX桌面应用未响应问题解决方案

    这篇文章主要介绍了JavaFX桌面应用未响应问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • spring aop execution表达式的用法

    spring aop execution表达式的用法

    这篇文章主要介绍了spring aop execution表达式的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论