비동기 모델 이해 + await 누락 실수 + Task.WhenAll 패턴 경험으로 설명
학교 수업에서 C# 비동기 프로그래밍을 처음 배웠고, 팀 프로젝트에서 직접 써봤습니다. async 키워드는 메서드를 비동기 컨텍스트로 만들고, await는 비동기 작업이 완료될 때까지 스레드를 점유하지 않고 기다리는 방식입니다. 처음에 await를 빠뜨리고 Task를 그냥 반환했다가 결과를 기다리지 않고 다음 코드로 넘어가는 문제가 생겼습니다. 외부 API 호출에 await를 붙이면서 스레드를 점유하지 않고 대기하는 구조가 얼마나 효율적인지 실감했습니다.
Task.WhenAll로 여러 API 요청을 동시에 보내고 전부 완료를 기다리는 패턴을 쓰면서 응답 시간이 눈에 띄게 줄었습니다. 예외 처리에서는 await로 감싼 작업에서 발생한 예외가 try-catch로 잡힌다는 걸 직접 확인하며 이해했습니다.