4. 시작 프로젝트로 설정한 후 Ctrl + F5를 눌러 실행합니다. 실행한 후 0에서 4까지 정수 중 하나를 입력한 후 Enter를 누르면 동기 또는 비동기 프로그램의 여러 형태에 따른 출력 결과가 나타납니다.
[?] 어떤 방식으로 실행할까요? (0~4 번호 입력)
0. 동기 1. await 2. Task<T> 3. WhenAll 4. WhenAny
2
밥 생성 중...
국 생성 중...
달걀 생성 중...
식탁에 밥 준비 완료 : 35320229
식탁에 국 준비 완료 : 17653682
식탁에 달걀 준비 완료 : 42194754
시간 : 1023
비동기 방식으로 식사 준비 완료
2를 입력하면 비동기 프로그램으로 메서드가 한꺼번에 실행되어 3초가 아닌 1초만에 모든 작업을 완료하는 것을 확인할 수 있습니다.
동기 프로그램은 스레드가 차단되어 현재 작업 중인 메서드가 완료될 때까지는 다른 작업을 실행하지 않는 형태입니다. 이와 달리 비동기 프로그램은 스레드가 차단되지 않아 작업 하나를 진행하더라도 다른 작업을 실행할 수 있습니다.
C# 입문 과정에서 async와 await 키워드는 이 실습 내용만으로도 충분히 이해할 수 있습니다. 이 실습은 기회가 되면 여러 번 작성하여 실행하면서 의미를 확실히 이해하고 넘어가길 권장합니다.