質問: ハイパースレッド/マルチコアに最適なスレッド数を選択する方法 私は.net 3.5コンソールアプリケーションで厄介な並列化作業を行っています。ハイパースレッドプロセッサとマルチコアプロセッサを利用したいと思います。 *任意のシステムでこれらのどちらかを最適に利用するために、どのようにして最適な数のワーカースレッドを選択するのですか?*たとえば、デュアルコアの場合、2つのスレッドが必要です。クアッドコア私は4つのスレッドが欲しいでしょう。 最終的には、プロセッサの特性を決定して、作成するスレッド数を知ることができます。 どのように作業を分割するのか、あるいはどのようにスレッド化するのかを尋ねるのではなく、このコンソールアプリケーションが動作する任意のマシン上のスレッドの「最適な」数をどのように決定するのかを尋ねる。
回答: それがあなたが後にしている唯一のものであるなら、あなたは environment.processorcountを使うことができます。 しかし、通常threadpoolを使用することは確かに良い選択肢です。