1
5
我强烈建议使用普通模式进行线程本地存储,如下面所述 MSDN article . 当使用[threadstatic]时,重要的是threadpool线程在终止时是否清除TLS变量。在msdn文档中没有任何建议它没有。这并不难实现,它只需要调用tlsfree()api函数。我写了一个小测试程序,没有任何泄漏的迹象。 |
2
4
编辑:根据汉斯的回答,这听起来像是TLS 将 不管怎样都要清理…只剩下一点答案: 您真的没有更好的方法来重用线程中的值吗?如果有两个任务使用相同的线程(一个完成,另一个运行),那么它们真的想要相同的值吗?你是吗 事实上 只是用它来避免在任务中以更可控的方式传播数据? |