Какая разница между execute() и submit() у ExecutorService?

161
04 мая 2019, 21:30

У ExecutorService есть два метода:

void execute(Runnable command) и

Future<?> submit(Runnable task).

Какая между ними разница в поведении потоков, кроме возвращаемого значения?

Answer 1

В классах ForkJoinPool, ThreadPoolExecutor и AbstractExecutorService submit использует execute. В классе ScheduledThreadPoolExecutor submit и execute используют перегруженный методschedule. Так что разницы нет.

execute это метод из интерфейса Executor

submit это метод из интерфейса ExecutorService который расширяет Executor.

Поскольку submit возвращает значение, то в нем происходит подготовка возвращаемого значения.

READ ALSO
Посчитать методы и поля объекта

Посчитать методы и поля объекта

Напишите стрелочную функцию, которая принимает объект, узнаёт сколько у него полей и методов, выводит все поляИ возвращает количество...

132
фильтр объекта за полученным id

фильтр объекта за полученным id

Есть объект с товарами:

151
Bootstrap form select не правильно работает

Bootstrap form select не правильно работает

Почему select не правильно отобразился? Хотя он и там и там один и тот же

190
FormData() input[type=file]

FormData() input[type=file]

https://codepenio/Galtran/pen/BGYRoX?editors=1011

184