キャッシュされたスレッドプールExecutorServiceを使用して、非同期のバックグラウンドタスクを実行しています。スレッドをExecutorServiceに渡すThreadFactoryを提供しました(必要なときはいつでも)。キャッシュされたスレッドプールについての私の理解は、スレッドが60秒間アイドル状態になった後、ExecutorServiceによって終了されるということです。
スレッドが終了しようとしているときに、状態のクリーンアップを実行したいと思います。これを達成するための最良の方法は何ですか?ExecutorServiceは、スレッドのライフサイクルへのフックを容易に提供しません。
ExecutorServiceをシャットダウンしたくありません-タスクが発生したときにタスクを実行するのに便利です。
ExecutorService executor = Executors.newCachedThreadPool(new MyThreadFactory());
// Do some work
executor.submit(new MyCallable());
// Need a way for the ExecutorService to notify me when it is about to
// terminate my thread - need to perform some cleanup
ありがとう、
シュレヤス