0

如何在 Java 中每秒引发 N 个事件?

基本上我有一个测试工具,想要引发事件/每秒调用一个方法 N 次。

有人可以帮我弄清楚如何做到这一点吗?

4

2 回答 2

4

你正在寻找Timer#scheduleAtFixedRate.

于 2013-08-23T13:01:22.857 回答
2

正如 chrylis 回答的那样,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.");
      }
}
于 2013-08-23T13:13:13.227 回答