Я обнаружил "ThreadStaticAttribute", и у меня есть много вопросов об этом: все мои предыдущие зависящие от потока статические данные были реализованы как статический словарь, который TKey является Thread, и когда я хотел получить к нему доступ, я использовал Thread.CurrentThread и это работает. Но для этого требуется mantainance, потому что, если поток умирает, я должен удалить соответствующую запись из словаря. И мне также нужно учитывать безопасность потоков и многое другое.
Используя ThreadStaticAttribute, все эти вопросы, похоже, решаются, но я должен быть уверен в этом. Мои вопросы: мне нужно удалить захват экземпляра пометкой "ThreadStaticAttribute", каким-то образом, до того, как поток погибнет? Где находится информация об этом поле? Это в экземпляре объекта Thread или что-то в этом роде, так что, когда он больше не используется, сборщик мусора автоматически отбрасывает его? Существуют ли штрафы за производительность? Какие? Это быстрее, чем использование коллекции Keyed, как я делал?
Пожалуйста, мне нужно уточнить, как работает ThreadStaticAttribute.
Спасибо.