JavaDoc ваш друг в этом случае
Этот интерфейс обеспечивает способ отделения представления задачи от
механизм выполнения каждой задачи, включая детали потока
использование, планирование и т. д.
Далее вы читаете
Однако интерфейс Executor не требует строго
исполнение будет асинхронным. В простейшем случае исполнитель может запустить
отправленное задание сразу в ветке звонящего:
class DirectExecutor implements Executor {
public void execute(Runnable r) {
r.run();
}
}
Эти определения уже выразительны для меня.
Относительно вашего примера использования. Имхо, нет, я бы никогда так не использовал этот интерфейс.
Однако может использоваться как принятый аргумент.
например. Я хочу запустить задачу, но я бы хотел, чтобы пользователь моего метода решил, как эта задача будет выполняться.
public void run(final Executor taskExecutor) {
taskExecutor.execute(this.myTaskRunnable);
}
Реализация Executor
может быть любой за сценой, она может быть синхронной (как в примере выше) или асинхронной, но мне все равно.
Это пользователь , который займет уход за ним.