Descubrí 'ThreadStaticAttribute', y tengo muchas preguntas al respecto: todas mis informaciones estáticas anteriores dependientes de hilos, se implementaron como un diccionario estático que TKey es Thread, y cuando quería acceder a ellas, usé Thread. CurrentThread y eso funciona. Pero esto requiere mantenimiento, porque si un hilo muere, tengo que eliminar la entrada correspondiente del diccionario. Y también necesito considerar la seguridad de las hebras y muchas otras cuestiones.Los campos marcados con C# ThreadStaticAttribute se liberan automáticamente cuando se corta el hilo?
Al usar ThreadStaticAttribute, todos estos asuntos parecen estar resueltos, pero necesito estar seguro de ello. Mis preguntas son: ¿necesito eliminar la instancia retenida por los campos marcados 'ThreadStaticAttribute', de alguna manera, antes de que el hilo muera? ¿Dónde se guarda la información de ese campo? Es en la instancia del objeto Thread, o algo así, para que cuando ya no se use, el recolector de basura lo descarte automáticamente? ¿Hay sanciones de rendimiento? ¿Cuáles? ¿Es más rápido que usar una colección Keyed como lo estaba haciendo?
Por favor, necesito aclaraciones sobre cómo funciona 'ThreadStaticAttribute'.
Gracias.
El compilador literalmente no hace nada por el atributo 'ThreadStatic'. Está completamente manejado por el CLR – JaredPar
Bien, pero tomando el "compilador" en un sentido metafórico en lugar de sentido estrictamente literal, se obtiene la idea en cuanto a cómo usar el atributo. –