Raymond Hettinger发布了一个snippet,他使用标准Python库中提供的sched模块,以便以特定的速率调用函数(每秒N次).我想知道Java中是否有一个等价的库.
解决方法:
看看java.util.Timer.
您可以找到使用here的示例
您还可以考虑Quartz,它功能更强大,可以组合使用
与春天
这是example
这是我使用您提到的代码片段的java.util.Timer的等价物
package perso.tests.timer;
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample extends TimerTask{
Timer timer;
int executionsPerSecond;
public TimerExample(int executionsPerSecond){
this.executionsPerSecond = executionsPerSecond;
timer = new Timer();
long period = 1000/executionsPerSecond;
timer.schedule(this, 200, period);
}
public void functionToRepeat(){
System.out.println(executionsPerSecond);
}
public void run() {
functionToRepeat();
}
public static void main(String args[]) {
System.out.println("About to schedule task.");
new TimerExample(3);
new TimerExample(6);
new TimerExample(9);
System.out.println("Tasks scheduled.");
}
}