Мне известен этот похожий вопрос, но мой касается конкретного случая очистки ThreadLocal .
Чтобы поддерживать состояние на основе потока, я сохраняю (неизвестное) количество ThreadLocals в статическом векторе. Иногда «жадному» потоку требуется больше доступных ThreadLocals, и в результате размер вектора будет увеличен. Хотя очистка с помощью ThreadLocal.remove() не является проблемой в моем сценарии, мне интересно, будет ли когда-нибудь возможно уменьшить размер вектора после того, как жадный поток умрет, или если он будет только расти (или, в лучшем случае, останется прежним). ).
Чтобы уточнить: я понимаю, что для любого заданного ThreadLocal будет существовать другой экземпляр для каждого потока. Как тогда мой статический вектор мог знать, когда к нему обращаются из потока A, что значения ThreadLocal T пусты для всех существующих потоков?
Спасибо за вашу помощь