Tpl
作業をPlinq
自動的にスレッドに割り当てます(コア/秒で... {まあ、もしそうなら #threads> #cores
、>1スレッドが同じコアで実行されます。 })。
MyMethod1(){..}
ただし、 と を持っているとしましょう (!) それぞれが異なるコアで実行されることを確認MyMethod2(){..}
する必要があります! (例: 集中コンピューティング)
私が見つけた最も近い解決策はPlinq'sです.WithExecutionMode (ParallelExecutionMode.ForceParallelism)
しかし、これは、Plinq が並列ではなく順次実行する方がよいと考える可能性がある別の状況のためのものです。また、私は Plinq を使用しません。別のコアで実行する必要があるメソッドは 2 つしかありません。
どうすればできますか?
psここSOで使用することを提案した回答がありましたがTaskCreationOptions.LongRunning
、TaskSchedulerにスレッドプールスレッドをより積極的に作成する必要があることを示唆するだけです。ただし、これらのスレッドは同じコア上にある可能性があります。そして私の状況では、それらが別のコアにある必要がありました。
ありがとうございました。