代码之家  ›  专栏  ›  技术社区  ›  Max Strini

继承线程静态值以在多线程上下文中在C/.NET中实现动态作用域

  •  6
  • Max Strini  · 技术社区  · 15 年前

    有没有办法让新生成的线程继承其父线程上线程静态状态(或类似的状态)的值?我想使用这个(或类似的)来实现“动态范围”的特殊变量,这些变量包含用于跟踪/日志记录等的操作/任务上下文信息。这是一种合理的方法吗,并且可以使它工作吗?

    1 回复  |  直到 15 年前
        1
  •  6
  •   Reed Copsey    15 年前

    不能“继承”值。然而,新的 ThreadLocal<T> class 对于.NET 4,允许您提供 Func<T> constructor ,它可以根据父级的状态初始化线程。这将提供一个合理的解决方案。

    推荐文章