가장 좋은 방법이 무엇인지 알고 싶습니다. 또는 다음과 같이 각 루프에 대한 일반 내에서 Parallel.foreach와 Task를 사용하는 것의 차이점을 확인하는 데 도움이되는 문서/기사가 있습니다.foreach 루프 내에서 parallel.foreach와 task를 사용하는 것의 성능 차이는 무엇입니까?
경우 1 - Parallel.foreach :
Parallel.foreach
{
// Do SOmething thread safe: parsing an xml and then save
// into a DB Server thry respoitory approach
}
경우 2 - foreach는 내 작업 :
foreach
{
Task t1 = Task.factory.startNew(()=>
{
//Do the same thing as case 1 that is thread safe
}
}
Task.waitall()
- 내가 내 자신의 테스트를 할 않았고 결과 쇼 케이스 (1)는 비율이 추천에 관한 케이스 (2)보다 훨씬 더 잘 수행 순차를 케이스 (1) 대 케이스 대 2 = 5S : 초 : 경우에 4 4S
를 거의 1이 있지만 1과 케이스 2? 따라서 루프 내에서 병렬로 실행하려면 parallel.foreach 또는 parallel.for를 항상 사용해야 함을 의미합니까?
나는 당신의 테스트 결과를 불신합니까 ... 그 숫자는 당신과 함께 경고 벨을 울려 야합니다. – usr
@Will - 작업 만들기는 스레드 만들기와 매우 다릅니다. TPL의 _ deison_ etre_. –
@ Will, 입력 해 주셔서 감사합니다. 저는 같은 생각을 가지고 있다고 생각합니다. 그러나 그 결과가 왜 다른지 보여줍니다. 그리고 4 번 ... – mting923