0

C# で複数のスレッドを持つアプリケーションがあり、一部のスレッドが長時間 (数分) ハングします。例: 50 個のスレッドを作成します...すべてのスレッドは同じ機能を持っていますが、一部のスレッドは停止し、数分間処理を行わず、再度実行されます。これにはどのような原因が考えられますか? プロセッサのスレッドが限られているためですか?これは奇妙に思えます。なぜなら、プロセッサが容量の数 % しか使用していない、つまり過負荷になっていないことを示しているのに、待機時間が長すぎるからです。

複数のスレッドを作成するために使用したコードを次に示します。

clsCreateThread clsCreateThread = new clsCreateThread(dataA,dataB,dataC);
arrayThreads[i] = new Thread(new ThreadStart(clsCreateThread.StartNewThread));
arrayThreads[i].Start();
4

0 に答える 0