在java中的X时间之后调用方法

时间:2015-08-20 11:58:36

标签: java scheduled-tasks netty

我正在使用java 8和netty(async),我有客户端服务器应用程序。我希望在X时间之后为每个通道调用一些方法。

我试过java.util.TimerTask,问题是run方法不会得到任何参数,我想用参数运行方法,怎么能在X秒后运行方法?

我试过了:

import java.util.TimerTask;

public class MyTimer extends TimerTask {
    public void run() {
        //TODO: read from object 
    }
}

2 个答案:

答案 0 :(得分:4)

您只需将Timer与schedule with delay

一起使用
Timer time= new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        //TODO: read from object 
    }
}, delay);
  

延迟 - 以毫秒为单位的延迟..

答案 1 :(得分:0)

使用: -

public void scheduleAtFixedRate(TimerTask task,
                                long delay,
                                long period)

在指定的延迟之后开始,为重复的固定速率执行计划指定的任务。随后的执行大约定期进行,间隔指定的时间段。