Thread.sleep () VS Executor.scheduleWithFixedDelay ()

Цель: выполнять определенный код время от времени.

Вопрос: С точки зрения производительности, есть ли существенная разница между:

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

а также

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

?

Конечно, последний вариант более кошерный. Тем не менее, я хотел бы знать, стоит ли мне начинать приключение под названием «Потратьте несколько дней на рефакторинг устаревшего кода, чтобы попрощаться с Thread.sleep ()».

Обновление: этот код работает в среде супер / мега / гипер высокой нагрузки.