改变一个线程池线程的文化会影响它归还池吗?如果我设置了一个线程池线程的CurrentCulture,当线程执行完返回线程池时会发生什么?它会将其CurrentCulture重置为默认值(无论这意味着什么),还是会保留我为其设置的文化?我希望框架将线程重置为默认状态以防止这种情况发生,但找不到任何关于此效果的文档。我发现最接近的是来自ThreadPool的MSDN文档:当线程池重用线程时,它不会清除线程本地存储或标有ThreadStaticAttribute属性的字段中的数据。因此,通过一种方法放置在线程本地存储中的数据可以暴露给同一线程池线程执行的任何其他方法。这似乎表明线程返回时并没有被重置。我已经尝试了一些示例代码来尝试测试它,它似乎确实重置了文化,但我不相信我正在测试这种行为,因为我认为我只使用了ThreadPool线程的一小部分,并且所以不能好吧,我正在测试一个已经为它设置了文化的线程。我不会依赖ThreadPool重置信息,尤其是因为您引用的文本。如果您担心“改变”线程池的文化,我会确保在您的线程任务完成时重置它。这是一项非常简单的任务。我不相信当前的线程池会这样做,但即使这样做了,假设.NET4+的ThreadPool实现不会改变也是不安全的。以上是C#学习教程:改变一个线程池线程的文化会影响它归还池吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
