java重置定时器频率

Posted suruozhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java重置定时器频率相关的知识,希望对你有一定的参考价值。

 1 public class BallUtil {
 2     public static  Timer fisTimer ;
 3     
 4     public static void fisStartBall(){
 5         long firstTime = 2000l;
 6         long time = 2000l;
 7         if(fisTimer==null){
 8             fisTimer = new Timer();
 9         }
10         fisTimer.scheduleAtFixedRate(new TimerTask(){
11             public void run(){
12                 System.out.println("time="+time+"-----firstTime="+"定时器执行"+"----type="+type);
13                 Date date = new Date();
14                 int hour = date.getHours();
15                 if(hour==9){
16                         System.out.println("重置频率");
17                         stop();//关闭后再开启
18                         start();
19                         //直接更新新的时间
20                         //Long newTime = patt.getInt("INTERVDAY")*60l*1000;
21                         //resetPeriod(newTime);
22                 }
23             }
24             //此方法也可以重置频率,直接传入新的时间
25             public void resetPeriod(final long time) throws IllegalArgumentException, IllegalAccessException{
26                 Field[] fields = this.getClass().getSuperclass() .getDeclaredFields();  
27                    for (Field field : fields)  
28                    {  
29                        if (field.getName().endsWith("period"))  
30                        {  
31                            if (!field.isAccessible())  
32                            {  
33                                field.setAccessible(true);  
34                            }  
35                            field.set(this, time);  
36                        }  
37                    }  
38             }
39         }, firstTime, time);
40     }
41     public  static void start(){
42             fisStartBall();
43     }
44     
45     public static void stop(){
46             fisTimer.cancel();
47     }
48 }

 

以上是关于java重置定时器频率的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Timer 类调用方法,做某事,重置计时器,重复?

Golang:定时器的终止与重置

切换片段时导航重置

刷新网页时如何防止倒数计时器重置?

发生配置更改时如何不重置我的片段?

Java定时调度任务的实现