3

.Net 4.5で次のコードを実行しています

Parallel.For(0, fileArray.Length, i =>
            {
                DataRow dataRow = table.NewRow();
                var dr = GetDataRow(fileArray[i], dataRow, parameters);
                if (dr["MyVariable"].ToString() != "0")
                {
                    try
                    {
                        table.Rows.Add(dr);
                    }
                    catch (Exception exception)
                    {
                        ConfigLogger.Instance.LogError(exception);
                    }
                }
            }
        );

ランダムに見えるこのループは、マシンのプロセッサーを使い果たし、ストールしてループを進行させません。これは 11,000 個のファイルを処理していますが、小さいファイル セットを使用して繰り返すことはできません。これをデバッグして何が原因かを突き止める方法について誰かアイデアがありますか? 自分のマシンでレプリケートできません。自分のマシンと本番環境の違いは次のとおりです。

製品 Win 7 64 ビット、.Net 4.5

開発 Win 8 64 ビット、.Net 4.5.1

parallel.for ループの各インスタンスにタイムアウト例外を設定する方法はありますか?

4

1 に答える 1