Swift Concurrency 탐험하기 - 비동기 작업의 병렬처리
Swift Concurrency를 통해 우리는 각 비동기 작업들에 대해 순차적으로 실행해주는것에 익숙합니다. 만약 그 반대로 비동기 작업들을 순차적으로 처리할 필요가 없고 병렬적으로 처리하는것에 더 적합할 경우도 분명히 많이 존재하죠⭐️ 그럴때는 어떻게 해줄 수 있을까요? 즉 비동기 작업들의 동시성 처리를 해줘야하는 환경에서는 두가지로 나눠집니다. 하나는 비동기 작업들의 사이즈를 알 때, 즉 유한한 작업임을 컴파일 시 알고 있다면 async let을 사용하여 병렬처리를 해줄 수 있습니다. 반대로 컴파일 시 처리해야 하는 비동기 작업들의 사이즈를 모르는 무한한 작업일 경우 그룹을 설정해줘야합니다. 에러를 갖느냐에 따라 withTaskGroup, withThrowingTaskGroup으로 사용해야 합니다🙌 이처럼 비동기 작업을 순차적으로도 병렬적으로도 자유자재로 의도대로 다룰 수 있어야 합니다🥹