Thread.sleep () VS Executor.scheduleWithFixedDelay ()

Ziel: Hin und wieder bestimmten Code ausführen.

Frage: Gibt es in Bezug auf die Leistung einen signifikanten Unterschied zwischen:

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

und

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

?

Natürlich ist die letztere Option koscherer. Dennoch möchte ich wissen, ob ich mich auf ein Abenteuer mit dem Titel "Verbringen Sie ein paar Tage in der Überarbeitung von Legacy-Code, um sich von Thread.sleep () zu verabschieden" einlassen sollte.

Update: Dieser Code wird in einer Super / Mega / Hyper-Hochlast-Umgebung ausgeführt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage