我有一個特定的用例,我有10個方法,我需要通過連續調用它們大約5分鐘來進行測試。爲了避免加載處理這些調用的後端,我計劃在每個方法調用之間有一秒的延遲。在調用java中的一組方法之間引入延遲
我的代碼看起來是這樣的:
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
}
}
我想知道是否有引進的延遲,而不是每一個方法調用後使用Thread.sleep()方法更好的方法。我不確定ScheduledExecutorService是否可以用於此目的?
假設Quartz調度可以在這個問題上也可以使用。 [this](https://www.mkyong.com/tutorials/quartz-scheduler-tutorial/)是一個很好的例子,讓你開始。 –
我更喜歡Thread.sleep方法,因爲確實沒有需要發生的併發。但是我會將這些方法放入一個列表中,並在遍歷列表時在迭代之間進行休眠。 – Aarjav