프로그래밍언어/C#

C#) Async, Await

HJH0825 2022. 8. 15. 19:56

1. 

실행결과

Start TestAsync가 불리고 3초 뒤에 EndTestAsync가 불리고 바로 while start가 불렸다. 만약 TestAsync에서 매우 긴 시간 동안 대기가 걸리면 그 이후 코드들이 실행되지 않게 된다.

2.

실행결과

await를 사용하여 대기하지 않고 바로 다음 코드가 실행되도록 할 수 있다.

 

3. await 활용방법

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/concepts/async/

 

C#의 비동기 프로그래밍

async, await 및 Task를 사용하여 비동기 프로그래밍을 지원하는 C# 언어에 대해 간략히 설명합니다.

docs.microsoft.com

eggs, eggs, toast는 각각 연관이 없는 동작이다. 그렇기에 await키워드를 통하여 동시에 작업이 가능하도록 할수 있다. 이 사진에 문제점은 3가지 작업 중 toast가 끝난 뒤에 juice작업과 "Breakfast is read!"가 출력되도록 되어있다. toast가 가장 먼저 끝난다는 전제가 있다는 것이다. (우리는 어떤 작업이 먼저 끝날 줄 모른다.)

 

whenAny

3가지 작업을 List로 만들어 while문을 통해 끝난 작업들을 표시해주는 방법이 있다.