говорят, что я использую
ExecutorService ex = Executors.newFixedThreadPool(nrofthreads);
раскручивая какую-то работу и ожидая, когда это будет сделано.
Однако у меня есть те же объекты Threadlocal в рабочих потоках, которые должны быть закрыты, когда пакет завершен.
Поэтому я хотел бы иметь возможность вызывать пользовательский метод close для всех рабочих потоков, созданных пулом потоков.
Какой самый элегантный способ сделать это?
Прямо сейчас в качестве хака я использую:
for(int i =0 ; i<20; i++){ //make sure to touch all threads with 20 runs..
ex.execute(new Runnable(){
public void run(){
tearDownThreadLocals();
}
});
}
ex.shutdown();
но это не выглядит особенно убедительным для меня ;-)
Спасибо
GJ