[C#] 비동기 코드 async / await / Task 작성 및 내부 구현
·
C# .NET
비동기 코드 작성 C# 5의 핵심 기능으로 기존에 사용하던 TPL을 기반으로한 async / await이 등장했고, 이 기능을 이용하면 동기 코드와 매우 유사한 방식으로 비동기 코드를 작성할 수 있다. 작업이 완료될 때까지 아래에 있는 코드가 수행되지 않는다는 면에서 블로킹 호출과 유사하지만, 현재 수행 중인 스레드를 블로킹하지 않는다는 점에서 큰 차이가 있다. 비동기 함수란, async 한정자를 사용하여 선언한 메서드의 익명 함수를 말하며, await 연산자를 이용하여 '대기' 를 표현할 수 있다.await의 주요 목적은 시간을 많이 소비하는 작업이 완료될 때까지 수행이 중단되는 것을 막는 것이다. public class Program { private static async Task Main(s..