다른 커뮤니티의 분들과도 의견을 나눠서 스스로 정리한 결과…
Task를 사용하는 자체는 비동기 프로그래밍으로 병렬처리라 보기엔 어렵지만, 제가 코드로 예제를 보인대로 Parallel API를 사용하지 않아도 특정시점에 파티셔닝을 할 수 있고, 작업의 완료시점을 await Task.WhenAll로 대기가 가능하다는 점에서,
Task.WhenAll 을 사용하면 비동기 방식으로도 병렬프로그래밍이 가능하다.
로 정리했습니다…
사실 병럴처리를 정말 닷넷에서 Parallel을 통해 하게했으면 이런 궁금증이 안 생겼겠지만, Task로도 멀티스레딩이 가능하게 해놨다보니 헷갈렸습니다 ㅠㅠ…
그리고 아래 글 때문에 Parallel과 Task의 차이가 더욱 모호해진 것도 있는 것 같습니다.
그래도 이 기회에 다시 한 번 개념을 정리하는 계기가 되었습니다.