Java延时的三种方法
短信预约 -IT技能 免费直播动态提醒
一、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。)
来源地址:https://blog.csdn.net/weixin_53607413/article/details/129397972
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341