こんにちは、一連のフェアリー ライトの問題について質問があります。プログラムは、一連のフェアリー ライトを表示し、ライト オブジェクトのコレクションを無限に調べて、それらをオン/オフすることです。
これを ScheduledExecutorService 内で実行するように実装し、executor の初期遅延を 0 に設定し、さらに 30 秒の遅延を設定しました。
ScheduledExecutorService executor = Executors.newScheduledThreadPool(2);
`ScheduledFuture sequenceFutre = executor.scheduleWithFixedDelay(sequenceRunnable, 0, 30, TimeUnit.SECONDS);`
このようなライトの配列リストのループがあります
try {
while (!pause) {
for (int i = 0; i < theLights.size(); i++) {
Light light = theLights.get(i);
System.out.println(String.format(outputstr, (i + 1), light.turnOn()));
Thread.sleep(HALF_SECOND_INTERVAL);
System.out.println(String.format(outputstr, (i + 1), light.turnOff()));
}
}
} catch (InterruptedException ie) {
ie.printStackTrace();
} catch(Error err) {
err.printStackTrace();
}
ここで欠けている部分は、これがラップされているランナブルが 30 秒で停止し、再開する前に 30 秒待機していないように見えることです。これは要件です。
誰でも助けてもらえますか?私は何が欠けていますか?