私の質問はParallel Foreach Race Conditionパラレルforeachのカウント
にたくさん似ていますが、それは非常に明確に答え、それは私がのために、それぞれには、一定の基準を満たしているオブジェクトカウントする必要があるという意味で異なっていませんでした。そうであれば、それをリストに追加する必要があります。
そうだから、明らかにこのリストは、それぞれの通常の私は、スレッドロックか何かのように、同期してMetCriteria
オブジェクトを保持するためにいくつかの方法が必要となるため、すべての値が含まれていません。この
List<int> MetCriteria = new List<int>();
Parallel.ForEach(dt.AsEnumerable(), (entry,state) => {
if (Convert.ToInt32(entry["Time"]) > 100)//in miliseconds
MetCriteria.add(Convert.ToInt32(entry["EntryID"]);
});
のようなものしかし、私は
'if'ステートメントはあなたがしようとしているものですか?もしそうなら、あなたはなぜ並列処理を使用していますか? – Enigmativity
私は金額に基づいて別のことをしなければならないので、100を超える場合、他の変数をチェックする必要がなく、別のリストに追加する必要がある場合は基準を満たします。エントリ時間に基づいて時間がかかる可能性のあるエントリごとにWebサービスを呼び出す必要があります – Neil
'Convert.ToInt32(entry [" Time "])> 100'のような値を単純に比較して、その後、Webサービスを呼び出すことができますか?あるいは 'if'の中でWebサービスを呼び出していますか? – Enigmativity