重置ThreadLocal <t>值</t>

时间:2011-02-11 22:13:11

标签: c# .net-4.0

我使用valueFactory Func初始化我的ThreadLocal。

我还想有时将Value重置为null。

也许我做错了,但如果我设置我的threadLocal.Value = null,它似乎仍然认为threadLocal.IsValueCreated == true。

如何才能真正重置threadlocal,以便在被要求时懒惰地重新生成Value?

1 个答案:

答案 0 :(得分:3)

不是我知道的。

您可以随时将其设为ThreadLocal<Lazy<T>>,并在需要重置时将其设置为新的Lazy<T>。如果这是您多次使用的内容,您可能需要考虑将其封装为ResettableThreadLocal<T>或类似的内容。