hasen
hasen

Reputation: 166262

Java equivalent of setInterval in javascript

Basically I want a function to be called every say, 10 milliseconds.

How can I achieve that in Java?

Upvotes: 14

Views: 18554

Answers (5)

Mohan
Mohan

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

Peter Lawrey
Peter Lawrey

Reputation: 533680

You could also use a ScheduleExecutorService.

Upvotes: 4

jishi
jishi

Reputation: 24624

Check out java.util.Timer

http://java.sun.com/javase/6/docs/api/java/util/Timer.html

Upvotes: 10

Bombe
Bombe

Reputation: 83938

You might want to take a look at Timer.

Upvotes: 17

Ravi Wallau
Ravi Wallau

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

Related Questions