博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java定时器的几种用法[转]
阅读量:6180 次
发布时间:2019-06-21

本文共 1835 字,大约阅读时间需要 6 分钟。

 1 
import java.util.Calendar;  
 2 
import java.util.Date;  
 3 
import java.util.Timer;  
 4 
import java.util.TimerTask;  
 5   
 6 
public 
class Test {  
 7     
public 
static 
void main(String[] args) {  
 8         
//
timer1();  
 9 
        timer2();  
10         
//
timer3();  
11 
        
//
timer4();  
12 
    }  
13   
14     
//
 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time)  
15 
    
public 
static 
void timer1() {  
16         Timer timer = 
new Timer();  
17         timer.schedule(
new TimerTask() {  
18             
public 
void run() {  
19                 System.out.println("-------设定要指定任务--------");  
20             }  
21         }, 2000);
//
 设定指定的时间time,此处为2000毫秒  
22 
    }  
23   
24     
//
 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行  
25 
    
//
 schedule(TimerTask task, long delay, long period)  
26 
    
public 
static 
void timer2() {  
27         Timer timer = 
new Timer();  
28         timer.schedule(
new TimerTask() {  
29             
public 
void run() {  
30                 System.out.println("-------设定要指定任务--------");  
31             }  
32         }, 1000, 1000);  
33     }  
34   
35     
//
 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。  
36 
    
//
 scheduleAtFixedRate(TimerTask task, long delay, long period)  
37 
    
public 
static 
void timer3() {  
38         Timer timer = 
new Timer();  
39         timer.scheduleAtFixedRate(
new TimerTask() {  
40             
public 
void run() {  
41                 System.out.println("-------设定要指定任务--------");  
42             }  
43         }, 1000, 2000);  
44     }  
45      
46     
//
 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行.  
47 
    
//
 Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)  
48 
    
public 
static 
void timer4() {  
49         Calendar calendar = Calendar.getInstance();  
50         calendar.set(Calendar.HOUR_OF_DAY, 12); 
//
 控制时  
51 
        calendar.set(Calendar.MINUTE, 0);       
//
 控制分  
52 
        calendar.set(Calendar.SECOND, 0);       
//
 控制秒  
53 
  
54         Date time = calendar.getTime();         
//
 得出执行任务的时间,此处为今天的12:00:00  
55 
  
56         Timer timer = 
new Timer();  
57         timer.scheduleAtFixedRate(
new TimerTask() {  
58             
public 
void run() {  
59                 System.out.println("-------设定要指定任务--------");  
60             }  
61         }, time, 1000 * 60 * 60 * 24);
//
 这里设定将延时每天固定执行  
62 
    }  
63 }  
若转载请注明出处!若有疑问,请回复交流!
你可能感兴趣的文章
JSON vs Js
查看>>
css居中
查看>>
谈谈分享邀请奖励机制(附iOS实现代码)
查看>>
多隆:淘宝第一行代码撰写者的程序世界
查看>>
【刷算法】翻转单链表的递归和非递归方法
查看>>
基于JS快速生成各种网格布局工具Grid介绍
查看>>
十步零基础JavaScript学习路径
查看>>
vue-cli 3.0新特性解读
查看>>
第一个tensorflow程序
查看>>
从问题出发看JAVA编程规范
查看>>
【译】Swift算法俱乐部-快速排序
查看>>
150年前,他对拿破仑做数据可视化
查看>>
Kafka走查
查看>>
Ribbon 框架简介及搭建
查看>>
Vue 模板编程实践 之 巧用过滤器
查看>>
Node.js 服务器
查看>>
小议JS原型链、继承
查看>>
对比几段代码,看看你是 Python 菜鸟还是老鸟
查看>>
在Ubuntu 16.04 / 17.10 / 18.04上安装Oracle Java JDK 11
查看>>
算法-无重复字符的最长子串
查看>>