Как освободить память Службы Executor, которая была закрыта для сбора мусора? - PullRequest
1 голос
/ 05 октября 2011

В данный момент я работаю над программой, которая использует много потоков.

A- Мой вопрос связан с освобождением исполнителей после того, как они закрылись для сбора мусора, каков наилучший способ? Я где-то читал, что мне нужно получить доступ к Future (Runnable или Callable) и изменить его на null, чтобы сборщик мусора мог его поднять.

B- Тот же вопрос касается пул потоков?

Спасибо за вашу помощь,

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Если нет ссылки на Executor Service, это должно быть сделано автоматически.

0 голосов
/ 05 октября 2011

Ресурсы внутреннего потока CallAble или Runnable включаются в GC после его завершения, кроме ресурса, который они возвращают.

Если вы хотите принудительно запустить GC. Вам следует позвонить:

System.qc();

Тогда GC начнет свою работу в фоновом режиме.

...