【发布时间】:2016-07-02 13:06:41
【问题描述】:
当使用Parallel.Foreach() 时,有一个内置机制来实现线程本地数据。使用 PLINQ AsParallel() 时我需要类似的东西。
我希望能够编写 PLINQ 语句,例如 list.AsParallel().ProcessElement(threadlocalresource)。
ThreadLocal<T> 可能会有所帮助,但我不明白如何在 PLINQ 语句完成后处置资源。
我查看了 AsParallel() 的源代码,希望通过复制/补丁来添加该功能,并通过大量依赖项最终陷入困境……这并不容易实现。
【问题讨论】:
标签: c# .net multithreading plinq