目标:定时执行特定代码。
问题:在性能方面,以下两种方式是否存在显著差异:
while(true) {
execute();
Thread.sleep(10 * 1000);
}
和
executor.scheduleWithFixedDelay(runnableWithoutSleep, 0, 10, TimeUnit.SECONDS);
当然,后者更合适。但是,我想知道是否应该开始一次名为“花费几天时间重构遗留代码以告别Thread.sleep()”的冒险。
更新: 此代码在超级/超高/超大负载环境下运行。
scheduleWithFixedDelay
封装了 sleep 调用。 - Subhrajyoti Majumder