该ThreadStatic属性声明静态变量作为独特的,每个线程.你知道一个简单的模式来正确处理这些变量吗?
我们在ThreadStatic之前使用的是ThreadContextManager.每个线程都分配了一个ThreadContext,它保留了所有特定于线程的信息.我们产生了一些线程并让它们工作.然后,当它们全部完成时,我们处理了ThreadContentManager,如果它们是IDisposable,它们会处理所有上下文.
我没有看到将此模式转换为ThreadStatic对象的直接方法.最终将丢弃对象,因为线程会死亡,因此没有任何引用它们.但是,我们更倾向于确定性处置.
更新
我没有直接控制线程 - 我正在使用Microsoft CCR,它有一个执行任务的ThreadPool.当所有任务完成后,我正在处理Dispatcher(它拥有线程池).问题是 - 我没有机会在线程的主要功能结束时做任何事情" - 所以我不能在线程运行结束时手动处理事情.我能以某种方式从线程外部访问线程的静态对象吗?