如何ThreadStatic在TPL任务中使用?我的理解("使用C#进行Wrox Professional Parallel Programming",第74页)是一个Task可以在执行期间从一个线程切换到另一个线程.
我想做的事?
我想在静态类中维护一个会话ID,所以我不需要将这个id传递给我的所有方法.我的库有类似的方法login(id),logout(id)以及许多与此id相关的凭证进行操作的方法.但我不想将此id传递给每个方法.我可以确保在不同的线程中为不同的会话调用我的库.因此,将id保存login()在ThreadStatic变量中将起作用.
现在我想使用由我创建的TPL任务ThreadPool.我可以将我的会话ID传递给Task,但是如果我将这个id存储在ThreadStatic变量中,那么如果我的Task切换线程,它将无法生存.