私のマルチスレッド アプリケーションは、HD からいくつかのファイルを取得し、このファイル内のデータを処理します。クラス (dataProcessing) の同じインスタンスを再利用してスレッドを作成します (呼び出しメソッドのパラメーターを変更するだけです)。
processingThread[i] = new Thread(new ThreadStart(dataProcessing.parseAll));
原因がすべてのスレッドが同じメモリから読み取っている可能性があるかどうか疑問に思っています。
各ファイルの処理には約 30 分かかります。ファイルはわずか 200 KB であるため、すぐに読み取られます。ファイルを処理した後、すべての結果を 1 つの宛先ファイルに書き込みます。問題がディスクの読み取りまたは書き込みにあるとは思いません。すべてのスレッドがタスクに取り組んでいますが、何らかの理由でプロセッサが十分に使用されていません。スレッドを追加して、プロセッサの使用率が 100% に達するかどうかを確認しようとしましたが、完全に使用するのではなく、速度が低下し、処理の使用量が減少するところまで来ました。誰が何が間違っているのか考えていますか?