私はParallel.foreachを500回以上の反復で使用しています。私は一貫性のない出力を直面していますParallel.ForEachの不一致
Parallel.ForEach(indexes, (index) =>
{
//parentCreation with index object
parent=create(index);
//call of function to create children
createChildrenOfType1(parent);
createChildrenOfType2(parent);
});
:
私のループのようなものです。親は正しく作成されますが、子の作成には一貫性がありません。 子が作成されないことがあります。作成される子もほとんどありません。 子作成メソッドには、forループで100個の子を作成する必要があります。
パラレルforeachを親作成に使用しているときに、どのようにして子の作成を一貫させることができますか。 ;あなたParent
オブジェクトはList<Child> Children
を持っており、あなたのcreateChildrenOfTypeX
機能がParent.Childrenリストに新しい子を追加すると、それらのcreateChildrenOfTypeX
も、リストの実装がスレッドセーフでなければならないコードの並列セットを実行していると仮定すると、
あなたはそれらの作成メソッドの実装を示す必要があると思います。 –
スレッドが安全でないオブジェクトはスレッドが安全ではない – milleniumbug
GTAをプレイしてダーツを飲むのが多すぎると、マルチスレッド環境で安全でないオブジェクトを使用すると世界が気に入っているように感じます。それはちょうど正常ではない。 –