小编Ger*_*ard的帖子

ThreadStatic for TPL Task

如何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切换线程,它将无法生存.

.net c# multithreading

14
推荐指数
1
解决办法
2094
查看次数

标签 统计

.net ×1

c# ×1

multithreading ×1