Java延时的三种方法

本文展示了在Java中使用Robot类的delay方法、Thread的sleep方法以及Timer类的schedule方法进行延时操作的示例。并解释了TimerTask的cancel方法在任务执行中的作用,即取消任务的后续执行。
摘要由CSDN通过智能技术生成

一、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。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒鱼七忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值