【发布时间】:2013-09-27 05:17:37
【问题描述】:
我正在尝试了解 TPL 的更低级别的操作,并且想知道并行处理数据锁定的方式,例如对二维数组执行计算。我一直在 MSDN 上兜圈子,一直没能找到详细的解释。有什么建议么?
【问题讨论】:
-
IME,TPL 根本不处理这个。线程助手有各种限制。文件锁定就是其中之一。如果您愿意,“自动并发”仅限于内存问题。 Windows Workflow Foundation 也存在类似问题。有时老派多线程是要走的路(等待句柄等)。
-
TPL 不是“线程助手”,Workflow Foundation 也不适合甚至用于细粒度并发。实际上,PLINQ 和 TPL 实现了不同的并发范式(任务并发 vs 数据并发)。线程只是用于处理任务/数据的方式。 TaskScheduler 可以使用纤程、外部进程或远程机器来执行其有效负载,并且它对任务本身或 lambdas 是不可见的
标签: c# parallel-processing task-parallel-library parallel.foreach