【发布时间】:2015-07-13 10:49:55
【问题描述】:
我有一台四核电脑。
我曾考虑使用任务并行库以编程方式实现多核处理。但是,当我在 Google 上搜索示例时,我被告知 CPU 会自动处理这个问题,最好不要管它。
现在,我在 Code Project 上找到了另一篇赞美这个库的文章。
使用这个库有什么好处吗?
谢谢
【问题讨论】:
-
操作系统不会为您分配工作。如果要在多个内核上工作,则必须对每个工作单元进行分区和调度。这就是
Task Parallel Library为您所做的。操作系统将在可用 CPU 上安排工作。 -
嗨,但是如果我使用线程,这不会自动为我使用圆顶吗?
-
TPL 为您提供了对
Thread类的抽象,这是 .NET 中可用的最低包装机制。它为您省去了自己创建并行性的麻烦。查看Parallel.ForEach和Parallel.For。另外,请查看PLINQ。 -
多个线程将自动“计划”在可用处理器上。这个库只是让你更容易使用线程。
-
如果 OP 是初学者或者问题不是那么聪明,并不意味着这是一个值得否决的坏问题。海事组织