Реализация ThreadLocal в двух вариантах
- Shared Memory
- Local Storage
Принцип заключается в создании общего хранилища, а класс MyThreadLocal является интерфейсом доступа к нему.
В данной реализации наследуется новый класс от Thread, для каждого экземпляра которого инициализируется собственное хранилище в виде Hash-таблицы
Реализация MyThreadLocal2 на самом деле не обязательна в данном случае, так как возможно обратиться к хранилищу через приведение типа.
С другой стороны через класс MyThreadLocal2 удобнее взаимодействовать с данными.