私は Parallel Extensions をかなり頻繁に使用していますが、ワーカー スレッドによるオブジェクトの再利用を可能にするために、スレッド ローカル ストレージを使用することが適切なケースに遭遇しました。そのため、スレッドごとに一意の値を持つ静的フィールド/変数をマークする ThreadStatic 属性を見ていました。
PE によるスレッドの再利用を保証せずに、ThreadStatic 属性を指定して PE を使用するのは賢明ではないように思えます。つまり、スレッドがある程度作成および破棄された場合、変数 (およびそれらが指すオブジェクト) は不確定な時間スレッドローカルストレージに残り、メモリリークが発生しますか? それとも、スレッドストレージはスレッドに関連付けられており、スレッドが破棄されるときに破棄されますか? しかし、プール内に、スレッドが使用されるコードのさまざまな部分からスレッド ローカル ストレージを蓄積する、長く存続しているスレッドが潜在的に存在する可能性があります。
PE でスレッド ローカル ストレージを取得するためのより良い方法はありますか?
ありがとうございました。