最佳答案
[ThreadStatic] is defined using attribute while ThreadLocal<T> uses generic.
Why different design solutions were chosen?
What are the advantages and disadvantages of using generic over attributes in this case?