Thread.sleep () VS Executor.scheduleWithFixedDelay ()

Objetivo: executar determinado código de vez em quando.

Pergunta: Em termos de desempenho, existe uma diferença significativa entre:

while(true) {
    execute();
    Thread.sleep(10 * 1000);
}

e

executor.scheduleWithFixedDelay(runnableWithoutSleep, 0, 10, TimeUnit.SECONDS);

?

Naturalmente, a última opção é mais kosher. No entanto, eu gostaria de saber se devo embarcar em uma aventura chamada "Passe alguns dias refatorando o código legado para dizer adeus a Thread.sleep ()".

Atualização: esse código é executado no ambiente super / mega / hyper high-load.

questionAnswers(4)

yourAnswerToTheQuestion