我用一个valueFactory函数初始化我的ThreadLocal。
有时我也想将该值重置回null。
也许我做错了什么,但是如果我设置了threadLocal.Value = null,它似乎仍然认为threadLocal.IsValueCreated ==是真的。
如何才能真正重置threadlocal,使其在请求时延迟地重新生成该值?
发布于 2011-02-12 06:17:24
据我所知没有。
您可以随时将其设置为ThreadLocal<Lazy<T>>,并在需要重置时将其设置为新的Lazy<T>。如果这是您多次使用的东西,您可能需要考虑将其封装为ResettableThreadLocal<T>或类似的东西。
https://stackoverflow.com/questions/4974605
复制相似问题