我怎么能执行一个方法每隔X秒在Javaÿ时间

杜迪·:

我想执行的方法每秒20次。

其实我有计时器

Timer timer = new Timer();
int begin = 0;
int timeInterval = 1000;

timer.scheduleAtFixedRate(new TimerTask() {
    @Override
    public void run() {
        //call the method
    }
}, begin, timeInterval);

我怎么能调用一个方法的20倍这个区间?

丹尼尔B.:

使用timer.schedule(),并跟踪的定时器多少次被执行,20次后停止计时,用timer.cancel()

Java文档 - 时间表

安排指定的任务进行重复的固定延迟执行,在指定的延迟后开始。后续执行发生在由指定的周期分隔大致规则的间隔。

在固定延迟执行,每个执行相对于前一次执行的实际执行时间调度。如果执行延迟因任何原因(如垃圾回收或其他背景活性),随后的执行将被延迟,以及。从长远来看,执行的频率一般会略低于指定周期(假定系统时钟底层的Object.wait(长)是准确)的倒数。

固定延迟执行适用于经常需要活动的“平滑度”。换句话说,它是适当的活动,它是保持准确的频率在短期内比在长期来看更为重要。这包括大多数动画任务,如以固定时间间隔闪烁的光标。它还包括其中响应于人类输入做股票任务,例如只要键被按下自动重复的字符。

参数:

task - task to be scheduled.
delay - delay in milliseconds before task is to be executed.
period - time in milliseconds between successive task executions.

Timer timer = new Timer();
int begin = 0;
int timeInterval = 1000;
timer.schedule(new TimerTask() {
  int counter = 0;
   @Override
   public void run() {
       //call the method
       counter++;
       if (counter >= 20){
         timer.cancel();
       }
   }
}, begin, timeInterval);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎么能长时间阅读Java作为无符号,它的值存储在一个BigInteger?

我怎么能一个数组转换成JSON(JAVA)

我怎么能画上一个标签多类?(JAVA)

我怎么能比较一个char和一个int?

我怎么能让一个表单标签执行 2 个动作?

我怎么能只用子列表()或任何其他方法得到的java.util.List中的最后一个记录?

我怎么能typedef一个绑定的成员方法,然后使用该类型作为模板参数?

我怎么能一个字符转换成int类型的Java?

当我自动提交从它创建一个无限循环我怎么能停止

你怎么能在 X 秒内执行一个命令?

我怎么能创建一个动作将与我的主要动作并行发生一段时间?

我怎么能单元测试是在Java类的具体方法是定期调用给定的时间

我怎么能一个键排序字典中的值?

我怎么能只模拟一个非空值?

我怎么能存储在一个可编辑的DIV插入位置?

我怎么能如果不存在映射可选另一个可选?

获得一个表元素的旧值,我怎么能得到新的价值?

我怎么能压扁一个List <名单<名单<字符串>>>

提醒每个新蜡烛我怎么能只有一个提醒

我怎么能扎根到一个没有名字的文件夹?

我怎么能一个函数内的变量的值传递给一个命令?

我怎么能自动地将一个文件夹叫到我的网址

我怎么能一个ArrayList的最后3个元素添加到不同的ArrayList?

如何每隔X秒启动一个新线程

Java编译器:两种方法具有相同的名称和不同的签名怎么能匹配一个方法调用?

我怎么能等到方法完成?

在CAS我怎么能限制只能访问一个服务,如果协议尚未接受?

我怎么能保存一个字符串字节而不丢失信息?

我怎么能单独天转换成大熊猫的一个日期科拉姆