【发布时间】:2010-11-01 19:09:10
【问题描述】:
我在 .NET 3.5 控制台应用程序中有一些令人尴尬的并行工作,我想利用超线程和多核处理器。 我如何选择最佳数量的工作线程,以便在任意系统上充分利用其中任何一个? 例如,如果它是双核,我将需要 2 个线程;四核我想要4个线程。我最终想要的是确定处理器特性,这样我就可以知道要创建多少线程。
我不是在问如何拆分工作,也不是在问如何进行线程化,而是在问如何确定将运行此控制台应用程序的任意机器上的“最佳”线程数。
【问题讨论】:
-
“最佳”数量也不一定是您拥有的处理器数量。它基于此,但取决于您在做什么,线程并不总是在处理,因此拥有比处理器更多的线程通常更有效。
标签: c# multithreading .net-3.5