Is there a way to make newly-spawned threads inherit the values of ThreadStatic state (or something like it) on their parent threads? I would like to use this (or something like it) to implement "dynamically scoped" special variables that contain operation/task context information to use for tracking/logging, etc. Is this a reasonable approach, and can it be made to work?
You can't "inherit" values. However, the new ThreadLocal<T>
class for .NET 4 allows you to provide a Func<T>
in the constructor, which can initialize the thread based on the parent's state. This would provide a reasonable workaround.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With