[c#] Parallel.ForEach가 완료 될 때까지 어떻게 기다릴 수 있습니까?

현재 프로젝트에서 TPL을 사용하고 Parallel.Foreach를 사용하여 많은 스레드를 회전하고 있습니다. Task 클래스에는 작업이 완료 될 때까지 기다리는 Wait ()가 포함되어 있습니다. 이와 같이 Parallel.ForEach가 완료 될 때까지 기다린 다음 다음 문을 실행하려면 어떻게해야합니까?



답변

특별한 작업을 할 필요가 없으며 Parallel.Foreach()모든 분기 된 작업이 완료 될 때까지 기다립니다. 호출 스레드에서 단일 동기 문으로 처리 할 수 ​​있으며 예를 들어 try / catch 안에 래핑 할 수 있습니다.


답변

Parallel.Foreach에서는 필요하지 않습니다. 사용 가능한 프로세서 수만큼의 스레드에서만 foreach를 실행하지만 동 기적으로 반환합니다.

자세한 정보는 여기 에서 찾을 수 있습니다 .


답변