Наследование значений ThreadStatic для реализации динамической области видимости в C # /. NET в многопоточном контексте - PullRequest
6 голосов
/ 21 января 2010

Есть ли способ заставить вновь порожденные потоки наследовать значения состояния ThreadStatic (или что-то подобное) в своих родительских потоках? Я хотел бы использовать это (или что-то подобное) для реализации «динамически ограниченных» специальных переменных, которые содержат информацию о контексте операции / задачи, используемую для отслеживания / ведения журнала и т. Д. Является ли это разумным подходом и можно ли заставить его работать?

1 Ответ

6 голосов
/ 21 января 2010

Вы не можете "наследовать" значения. Однако новый ThreadLocal<T> класс для .NET 4 позволяет предоставить Func<T> в конструкторе , который может инициализировать поток на основе состояния родителя. Это обеспечит разумный обходной путь.

...