Согласно документу ThreadPoolExecutor (Java ThreadPoolExecutor ), если я создам службу-исполнитель следующим образом:
new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue);
и когда #threads > corePoolSize, простаивающие потоки будут уничтожены. Я хотел вызвать определенный код очистки приложения, когда ThreadPoolExecutor убивает любой поток. Я не смог получить четкий способ сделать это. Цените любую помощь. Заранее спасибо.
interrupt
для запуска очистки — это не то, что вам нужно. Когда рабочий поток уничтожается, ThreadPool просто отказывается от ссылки, но не обязательно вызывает прерывание. И наоборот: когда вызывается прерывание, это не означает, что поток уничтожается. - person Fildor   schedule 03.08.2014