2011-02-11 3 views
3

내 ThreadLocal을 valueFactory Func로 초기화합니다.ThreadLocal 재설정 <T> 값

경우에 따라 값을 null로 다시 설정하고 싶습니다.

아마 내가 잘못하고 있지만, threadLocal.Value = null로 설정해도 threadLocal.IsValueCreated == true라고 생각하는 것 같습니다.

요청한 경우 느리게 값을 재생성 할 수 있도록 어떻게 실제로 스레드 로컬을 재설정 할 수 있습니까?

+0

지금까지 가지고있는 코드를 보여줄 수 있습니까? –

답변

3

아니요.

재설정 할 때마다 항상 ThreadLocal<Lazy<T>>으로 설정하고 Lazy<T>으로 새로 설정할 수 있습니다. 이것이 두 번 이상 사용되는 것이라면, 그것을 ResettableThreadLocal<T> 또는 이와 유사한 것으로 캡슐화하는 것이 좋습니다.

관련 문제