Q:

Introduce delay between calling a set of methods in java

I have a specific use case where I have 10 methods I need test by calling them continuously for about 5 minutes. To avoid the loading the backend handling these calls, I plan on having a one second delay between each method call. 
My code looks like something like this:
public static void main(String[] args)
{
    for (int i = 1; i <= 10; i++) // start i at 1 for initial delay
    {
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            public void run()
            {
                callMethodA();
                Thread.sleep(1000);
                callMethodB();
                Thread.sleep(1000);
                callMethodC();
                Thread.sleep(1000);
                callMethodD();
                Thread.sleep(1000);
                callMethodE();
                Thread.sleep(1000);
                callMethodF();
            }
        }, 30000 * i); // 5 second intervals
    }
}

I wanted to know if there's a better way to introduce the delay rather than using Thread.sleep() after every method call. I wasn't sure if the ScheduledExecutorService can be used for this purpose?

A:

I have a specific use case where I have 10 methods I need test by calling them continuously for about 5 minutes. To avoid the loading the backend handling these calls, I plan on having a one second delay between each method call.

For this purpose, I don't see the need for scheduling. You can simply loop n times and call the methods with some sleep in between:
Runnable[] calls = {
        () -> callMethodA(),
        () -> callMethodB(),
        // ...
};

for (int i = 0; i < 5; i++) {
    for (Runnable runnable : calls) {
        runnable.run();
        Thread.sleep(1000);
    }
}

