大家好,我有一个关于一串童话灯问题的问题。该程序是要显示一串仙女灯,并无限地遍历灯光对象的集合,打开和关闭它们。
我已经实现了这个在 ScheduledExecutorService 中执行,并将执行器设置为初始延迟为零,再延迟 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 秒,这是要求。
有人可以帮忙吗?我错过了什么?