[Java--定时器]--定时器举例
来源:互联网 发布:淘宝交易款临时冻结 编辑:程序博客网 时间:2024/05/16 05:24
一、定时器是什么?
答:顾名思义即是用于定时执行任务而设定。
二、Java有几种定时器?
答:有常用的4种Java定时器
三、举例说明
环境:jdk-1.7+idea16+centos-6.8
代码:
package com.test.java.Thread;import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * Created by root on 20171011. * Update date: ** Time: 4:11 PM * Project: test-java * Package: com.test.java.Thread * Describe :Timed task test class. *
* Result of Test: test ok * Command: *
*
* Email: jifei.yang@ngaa.com.cn * Status:Using online * Attention: */public class TestSchedule { /** * 主函数调用静态方法 */ public static void main(String[] args) { timer1(); // schedule 001 timer2(); // schedule 002 timer3(); // schedule 003 timer4(); // schedule 004 } /** * 第一种方法:设定指定任务task在指定时间time执行 * schedule(TimerTask task, Date time) */ private static void timer1() { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("---number1:设定要执行的任务——–"); } }, 5000); // 程序启动后,过5秒再执行;然后退出.(只执行一次,然后就不再执行了!) } /** * 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行 * schedule(TimerTask task, long delay, long period) */ private static void timer2() { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("-------number2:设定要执行的任务--------"); } }, 1000, 5000); // 程序启动后,过一秒再执行;然后每隔5秒执行一次。 } /** * 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。 * scheduleAtFixedRate(TimerTask task, long delay, long period) */ private static void timer3() { Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { System.out.println("-------number3:设定要执行的任务--------"); } }, 1000, 2000); // 程序启动后,过一秒再执行;然后每隔2秒执行一次。 } /** * 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行. * Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period) */ private static void timer4() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 22); // 控制时 calendar.set(Calendar.MINUTE, 16); // 控制分 calendar.set(Calendar.SECOND, 0); // 控制秒 Date time = calendar.getTime(); // 得出执行任务的时间,此处为今天的Time---> 22:16:00 Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { System.out.println("-------number4:设定要执行的任务--------"); } }, time, 1000 * 60 * 60 * 24); // 程序启动后,将在每天的这个时间"22:16:00"执行。 }}
注:
这些方法已经通过测试,只需修改自己想要的参数和线程方法即可使用。
参考:
https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
- [Java--定时器]--定时器举例
- 定时器 举例
- 定时器的应用举例
- 51单片机定时器使用举例
- JAVA定时器
- java 定时器
- JAVA定时器
- java定时器
- JAVA定时器
- Java定时器
- JAVA定时器
- JAVA定时器
- java定时器
- Java定时器
- JAVA 定时器
- java定时器
- java定时器
- java定时器
- 如何设计数据仓库?粒度问题是一个最重要方面!
- Eclipse搭建maven项目—安装配置(1)
- 1009-1012
- Ubuntu 下安装Go语言
- 前端工程师进阶
- [Java--定时器]--定时器举例
- 多线程之读写锁ReentrantReadWriteLock
- Java认证和授权服务 JAAS 之 认证
- visual studio 卸载 vsassistx工具
- js设置title属性的值的换行问题
- 浏览器兼容之JavaScript篇——已在IE、FF、Chrome测试
- JS控制HTML元素的显示和隐藏+网站浮标
- Spring 加载多个配置文件
- Java读取Excel异常NoSuchMethodError