-5
안녕하세요, 나는 개체의 큰 목록에서 정보를 얻으려고합니다. 내가 여러 목록에서 정보를 하나 개의 목록에이 정보를 추가 할 수있는 방법병렬 작업 목록에 새 항목을 추가하는 방법
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의 한 목록에 문자열 목록을 넣으 려하므로 문자열을 Foo로 변환해야합니다. 그리고 당신은 이것을 병렬로하고 싶으므로 멀티가 뒤죽박죽입니까? –
정상적인 방법으로 목록을 처리하는 데 1 시간 이상 걸립니다. '리스트 정보 = 새리스트 (); 목록 SubPaths = getPaths(); // 약 10000 foreach는 (하위 경로에서 VAR 경로) { Information.Add (DoSomethingWithoutParallelTask (경로) 은}'이 –
아직도 확실하지 무슨 뜻인지 시간 이상 소요,하지만 난 당신이 보길 원하는 것 같아요 평행 한 foreach 함수 (멀티 스레딩). 당신이하고있는 일을 모르는 경우에는 다중 밟기가 복잡한 문제로 이어질 수 있기 때문에 조심하십시오. 더 많은 연구를 할 필요가 없습니다. –