Содержит ли будущий объект, возвращенный executorService.submit (Runnable), какую-либо ссылку на работающий объект?
Предположим, у нас есть следующий код:
List<Future<?>> runningTasks;
ExecutorService executor;
...
void executeTask(Runnable task){
runningTasks.add(executor.submit(task));
}
Мои вопросы:
Есть лиrunningTasks
держать ссылку наtask
объект?Как долго это держит? Это все еще держит это после того, как задача выполнена?Чтобы избежать утечек памяти, я должен позаботиться о том, чтобы удалить будущее, которое было добавлено в список?