2

物事をc#TLSに入れると、いつクリーンアップされますか、それともクリーンアップするのが私の仕事ですか?

つまり

a)スレッドが特定の作業をどのように開始するかに関係なく、常に空のTLSから開始しますか(QueueUserWorkItemスレッド、WCFが呼び出されます...)

b)TLSに高価なものを入れた場合、スレッドがその作業を完了したときにそれらはGCされます。ほとんどの.netスレッドは1つ以上のプールからのものであると想定しているため、「終了」とは言わないことに注意してください。したがって、OSに関する限り、必ずしも終了するとは限りません。それとも、私が自分の後ろに混乱を残さないようにするために、常に「最後に」自分自身をするのが私の仕事ですか?

4

1 に答える 1

1

TLSエントリは、スレッドがプールに戻されても存続します。

つまり、System.Threading.ThreadPoolクラスのスレッドを使用する場合は、TLSに入力したすべてのものをクリーンアップするのはユーザーの責任です。

于 2012-09-21T22:32:34.470 に答える