私はマルチスレッドの初心者です。私のコンピューターには 4 つの論理プロセスがあり、4 つの異なるコアのスレッドで 4 つの等しいタスクを実行したいと考えています。どうすればできますか?使用しようとしましBackgroundWorker
たが、BackgroundWorker の 4 つのインスタンスが、利用可能な 4 つのコアのうち 2 つしか占有しません。BackgroundWorker のコード サンプル:
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerAsync(calculationParams);
BackgroundWorker worker1 = new BackgroundWorker();
worker1.DoWork += new DoWorkEventHandler(worker_DoWork);
worker1.RunWorkerAsync(calculationParams1);
BackgroundWorker worker2 = new BackgroundWorker();
worker2.DoWork += new DoWorkEventHandler(worker_DoWork);
worker2.RunWorkerAsync(calculationParams2);
BackgroundWorker worker3 = new BackgroundWorker();
worker3.DoWork += new DoWorkEventHandler(worker_DoWork);
worker3.RunWorkerAsync(calculationParams3);