私は、.netフレームワーク4.0を使用して.netアプリケーションを開発しました。ここでは、マルチスレッド用にparallel.for()ループを使用しています。私は以下の設定を使用しました:
- Windows 7
- IIS 7.0
- フレームワークv4.0.30319
ParallelOptions()クラスを使用し、このクラスの "MaxDegreeOfParallelism"プロパティが5に設定されています。実行時に5つのスレッドが作成されたかどうかを確認するために、ログファイルに "Thread.CurrentThread.ManagedThreadId"私は2つの異なる環境でこのアプリケーションをテストしました。アプリケーションが開発された環境で実行されている場合、スレッドIDは5つ作成されています。しかし、それは他の環境で実行されている間に、6または7つのスレッドIDを作成しています。アプリケーションは第1の環境でのみコンパイルされます。私は公開されたバージョンのアプリケーションを2番目の環境でテストするために使用しました。
なぜこれが起こっているのか、それを解決する方法を知らせることで誰も助けてくれますか?