ライブラリには、ThreadLocal
いくつかのオブジェクトを持つ変数があります。これらすべてのオブジェクトを 1 つのデータ構造に蓄積し、必要に応じてそれらを反復できるようにしたいと考えています。一方で、アプリケーション シナリオに数千のスレッドの作成と終了が含まれる場合、このデータ構造が汚染されることは望ましくありません (さらに、これによりメモリ リークが発生する可能性があります)。そのため、ソリューションは、ローカルのオブジェクトからデッドスレッドまでのデータ構造を消去する必要があります。
解決策は、通常の抹消手順で が生きていないかどうかをさらにチェックする必要がある in キーWeakHashMap
と似ているはずだと思います。以上の繰り返しが行われます。WeakReference<Thread>
Thread
Map.values()
そのようなデータ構造の既存の実装はありますか? または、私の問題に対するより良い解決策がありますか?