-5
こんにちは、私はオブジェクトの大きなリストから情報を取得しようとしています。私は複数のリストから情報を取得し、1つのリストにこの情報を追加することができますどのように並列タスクでリストする新しい項目を追加する方法
List<Foo> Information = new List<Foo>();
List<string> SubPaths = getPaths(); //about 10000
var SplittedList = splitList(SubPaths, 100); //100 list of 100 (100*100=10000)
foreach(var list in SplittedList)
{
List<Foo> ProcessedList = DoSomethingWithParallelTasks(list);
Information.AddRange(ProcessedList); //when one of all task finished
}
Int number = Information.Count()//test: number = 10000
:これは私のコードです。
通常の方法でリストを処理する場合は、1時間以上かかります。 @マークBaijens
List<Foo> Information = new List<Foo>();
List<string> SubPaths = getPaths(); //about 10000
foreach(var path in SubPaths) {
Information.Add(DoSomethingWithoutParallelTask(path);
}
それは
おかげ時間以上かかります。
質問が不明です。 Fooの1つのリストに文字列のリストを入れたいので、文字列をFooに変換する必要があります。そして、あなたはこのように並行してマルチスレッド化したいのですか? –
私は通常の方法でリストを処理する場合、それは1時間以上かかります。 'リスト情報=新しいリスト(); リスト SubPaths = getPaths(); //およそ10000 foreachの(サブパス内のvarパス) { Information.Add(DoSomethingWithoutParallelTask(パス); は} 'それはあなたが何を意味するか –
まだわからない時間以上かかりますが、私はあなたがに見たいかもしれないと思いますあなたが何をしているのか分からなければ、複数の踏み込みが複雑な問題につながる可能性があるので注意してください。 –