Джава. Разница между методами Thread.sleep() и ScheduledExecutorService

Я пытаюсь сделать настольное приложение для часов и использую

Thread.sleep(1000);

внутри цикла while(true). Когда мне было интересно, как это работает и может повлиять на производительность процессора, я обнаружил, что ScheduledExecutorService более предпочтителен, и некоторые StackOverflowers утверждают, что он более точен.

В чем разница между ними?

(также видел другой вариант, использующий таймеры свинга, но более любопытный о «продвинутых» вещах)

РЕДАКТИРОВАТЬ: Чтобы быть более конкретным:

Из: документа по Java 7

Методы scheduleAtFixedRate и scheduleWithFixedDelay создают и выполняют задачи, которые выполняются периодически, пока не будут отменены.

Есть ли разница между Thread.sleep() и этими двумя методами? (использование потоков, потребление ЦП, точность, когда лучше использовать тот или иной и т. д.)


person ExDCode    schedule 23.12.2016    source источник
comment
Это все равно, что спросить, в чем разница между тем, как вы вздремнете, и организационной структурой группы людей, работающих на конвейере. Вам нужно сузить это до чего-то конкретного и сопоставимого.   -  person pvg    schedule 23.12.2016
comment
Кроме того, stackoverflow.com/questions/6183749/   -  person Sotirios Delimanolis    schedule 23.12.2016