ScheduledExecutorService vs Timer vs Handler

Каковы преимущества и недостатки использования ScheduledExecutorService / Timer / Handler ? Как я понимаю в Android вместо Timer , нужно использовать Handler , но как насчет ScheduledExecutorService ?

Насколько я понимаю, Handler и ScheduledExecutorService только для относительного времени, не так ли?

Solutions Collecting From Web of "ScheduledExecutorService vs Timer vs Handler"

Все три позволяют выполнять задачи на другом (например, не главном) потоке. Обработчик позволяет использовать сообщение, передающее шаблон Actor, для безопасного обмена информацией между потоком. Это не позволяет вам делать время / задержки / и т. Д.

ScheduledExecutorService – это очень общее решение для управления потоками. Вы инициализируете его определенным числом для рабочих потоков, а затем даете ему рабочие единицы. Вы можете задержать / время и повторить рабочие единицы.

Класс Timer имеет простой API, который похож на ScheduledExecutorService для одноразового использования с одним потоком. Официальный API предлагает не использовать этот класс, а вместо этого использовать собственный ScheduledExecutor.