接続文字列の配列をループし、各ループでいくつかの情報を抽出してリストに追加します。今、私はそれがマルチスレッドにするために、パラレルライブラリを使用したいが、私は、リストへの書き込みライブラリ保証はスレッドセーフであるかどうか、私はロックを使用する必要があるかどうかわからない:並列ライブラリを使用してリストに追加するときのスレッドの安全性を保証する正しい方法
List<SomeType> list = new List<SomeType>();
settings.AsParallel().ForAll(setting =>
{
list.AddRange(GetSomeArrayofSomeType(setting)); /// DO I NEED TO DO LOCKING HERE???
})
最初にこの複雑さを避け、 'list'に追加する設定をあらかじめ選択するのはなぜですか? –
私はリストに設定を追加せず、設定ごとにいくつかの配列を取り出し、その配列の内容をメインリストに追加します。検索は長いプロセスかもしれないので、私はマルチスレッドが必要です – Andrey