Reputation: 166262
Basically I want a function to be called every say, 10 milliseconds.
How can I achieve that in Java?
Upvotes: 14
Views: 18554
Reputation: 5105
Using ExecutorService
ScheduledExecutorService es = Executors.newSingleThreadScheduledExecutor();
es.scheduleAtFixedRate(() -> System.out.println("Hello World! from ScheduledExecutorService"), 10000, 10000, TimeUnit.MILLISECONDS);
//es.shutdown();
Or by using Timer
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("Hello World! from Timer");
}
}, 10000, 10000);
//timer.cancel();
Cheers!
Upvotes: 0
Reputation: 24624
Check out java.util.Timer
http://java.sun.com/javase/6/docs/api/java/util/Timer.html
Upvotes: 10
Reputation: 10493
I would say you would create a thread and in the thread loop add a System.sleep(10) to make the thread "sleep" for 10 ms before continuing.
Upvotes: 2