почему childValue () определяется в ThreadLocal, а не в InheritableThreadLocal? - PullRequest
0 голосов
/ 09 января 2019

для сокращения предложений определите псевдоним:

ThreadLocal: TL
InheritableThreadLocal: ITL

Я читал исходный код TL, и это меня смутило: почему childValue определяется в TL, а не в ITL?

документ гласит:

ради обеспечения фабричного метода createInheritedMap без необходимости создавать подкласс класса карты в InheritableThreadLocal.

почему не может предоставить createInheritedMap() в ITL
и позвоните this.inheritableThreadLocals = InheritableThreadLocal.createInheritedMap(parent.inheritableThreadLocals); в java.lang.Thread#init?

Я не могу понять, почему нужно подкласс карты, если providing createInheritedMap factory в ITL.

почему нельзя просто использовать карту родителей (TL) в методе ITL createInheritedMap?

...