O futuro objeto retornado por executorService.submit (Runnable) mantém alguma referência ao objeto executável?
Vamos supor que temos o seguinte código:
List<Future<?>> runningTasks;
ExecutorService executor;
...
void executeTask(Runnable task){
runningTasks.add(executor.submit(task));
}
Minhas perguntas são:
FazrunningTasks
mantenha uma referência aotask
objeto?Quanto tempo dura? Ainda o mantém após a conclusão da tarefa?Para evitar vazamentos de memória, tenho que tomar cuidado para remover o futuro que foi adicionado à lista?