目标:每隔一段时间执行一次代码.
问题:在性能方面,是否存在显着差异:
while(true) {
execute();
Thread.sleep(10 * 1000);
}
Run Code Online (Sandbox Code Playgroud)
和
executor.scheduleWithFixedDelay(runnableWithoutSleep, 0, 10, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
?
当然,后一种选择更犹豫不决.然而,我想知道我是否应该开始一项名为"花几天时间重构遗留代码以告别Thread.sleep()"的冒险.
更新:此代码在超级/超级/超高负载环境中运行.