프로그래밍언어/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/
eggs, eggs, toast는 각각 연관이 없는 동작이다. 그렇기에 await키워드를 통하여 동시에 작업이 가능하도록 할수 있다. 이 사진에 문제점은 3가지 작업 중 toast가 끝난 뒤에 juice작업과 "Breakfast is read!"가 출력되도록 되어있다. toast가 가장 먼저 끝난다는 전제가 있다는 것이다. (우리는 어떤 작업이 먼저 끝날 줄 모른다.)
whenAny
3가지 작업을 List로 만들어 while문을 통해 끝난 작업들을 표시해주는 방법이 있다.